X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,HS_INDEX_PARAM X-Spam-Check-By: sourceware.org Message-ID: <268051.64734.qm@web88306.mail.re4.yahoo.com> X-RocketYMMF: ilatypov Date: Fri, 26 Mar 2010 16:35:35 -0700 (PDT) From: Ilguiz Latypov Subject: update on tr feasibility in text mode docs To: cygwin AT cygwin DOT com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-1724877961-1269646535=:64734" Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com --0-1724877961-1269646535=:64734 Content-Type: text/plain; charset=us-ascii The current documentation on Cygwin text mode heuristic relies on a bug in a GNU tool. That bug was fixed. http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/doc/textbinary.sgml?rev=1.11&content-type=text/x-cvsweb-markup&cvsroot=src The script "$1".nocr ]]> will not work on a text mounted systems because the \r will be reintroduced on writing.I believe GNU tr switched to always-binary output on January 1, 1999, according to its change log, http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=87f9e231c340b939bf691842df8fb30e88402acd The Cygwin example should probably be more explicit by offering C code with the fopen() "w" mode and a counter-example with the "wb" mode. I tested tr's binary output in a text mount using the attached script, https://savannah.gnu.org/bugs/?27983 The script showed that cygport's build of xargs and the pristine biuld of GNU gzip failed to use the explicit binary mode where they should. -- --0-1724877961-1269646535=:64734 Content-Type: application/x-sh; name="text-mode.sh" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="text-mode.sh" IyEgL2Jpbi9iYXNoIC1lCgojIERlbW9uc3RyYXRlIHRoZSBiZWhhdmlvdXIg b2YgQ3lnd2luJ3MgZGVmYXVsdCBmaWxlIG9wZW4gbW9kZSB3aGljaCBkZXBl bmRzIG9uCiMgdGhlIG1vdW50IG9wdGlvbiBhbmQgb24gdGhlICJiaW5tb2Rl IiB3b3JkIGluICRDWUdXSU4uCgojIEFsc28gZGVtb25zdHJhdGUgdGhhdCB0 aGUgR05VICJ0cmFuc2xhdGUiIHV0aWxpdHkgZnJvbSBjb3JldXRpbHMsICJ0 ciIsCiMgYWx3YXlzIHNhdmVzIG91dHB1dCBpbiBiaW5hcnkgbW9kZSBzaW5j ZSB0aGUgY2hhbmdlIGluIGl0cyBzb3VyY2UgY29kZSBvbgojIEphbnVhcnkg MSwgMTk5OS4KIwojICAgaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dp dHdlYi8/cD1jb3JldXRpbHMuZ2l0O2E9Y29tbWl0ZGlmZjtoPTg3ZjllMjMx YzM0MGI5MzliZjY5MTg0MmRmOGZiMzBlODg0MDJhY2QKIwojIFRoaXMgcmVm dXRlcyB0aGUgY3VycmVudCAoYXMgb2YgTm92ZW1iZXIgMjAwOSkgZG9jdW1l bnRhdGlvbiBvbiBDeWd3aW4gd2hpY2gKIyBzYXlzIHRoYXQgd2l0aCAidHIi LCAidGhlIFxyIHdpbGwgYmUgcmVpbnRyb2R1Y2VkIG9uIHdyaXRpbmcsIgoj CiMgICBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2N5Z3dpbi9jeWd3aW4t dWctbmV0L3VzaW5nLXRleHRiaW5hcnkuaHRtbAojCiMgVGhlICJ0ZXh0IiB2 cy4gImJpbmFyeSIgbW9kZSBkaXN0aW5jdGlvbiBvbmx5IG1hZGUgc2Vuc2Ug b24gV2luZG93cyB3aXRoIHRoZQojIGludHJvZHVjdGlvbiBvZiBVbml4IGVt dWxhdGlvbi4gIAojCiMgT25seSBhIGhhbmRmdWwgb2YgR05VIHRleHQgcHJv Y2Vzc2luZyB1dGlsaXRpZXMgYWxsb3cgZXhwbGljaXQgb3BlbmluZyBvZgoj IGlucHV0IGluIGJpbmFyeSBtb2RlLiAgVGhlc2UgaW5jbHVkZSB0aGUgYWJv dmUgY2hhbmdlIHRvICJ0ciIsIGEgMTk5OSBjaGFuZ2UKIyB0byAid2MsIgoj CiMgICBodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWNv cmV1dGlscy5naXQ7YT1jb21taXRkaWZmO2g9ZjNhZGU3MjAxODAwMmEyMWMz MjYxOGFmNTMwMGQ5NjgyZjlkNjk4YQojIAojIGFuZCB0aGUgQXVndXN0IDIw MDYgY2hhbmdlIHRvIHNlZCBpbnRyb2R1Y2luZyB0aGUgLS1iaW5hcnkgb3B0 aW9uLAojCiMgICBodHRwOi8vY3ZzLnNhdmFubmFoLmdudS5vcmcvdmlld3Zj L3NlZC9zZWQvc2VkLmM/cm9vdD1zZWQmcjE9MS4zJnIyPTEuNAojCgpmdW5j dGlvbiBmaW5kX2NycygpIHsKICAgIHRmPSIkMSIKICAgICMgV2UgcmVseSBv biAidHIiIGZyZW9wZW4oKWluZyBzdGRpbi9zdGRvdXQgaW4gcmF3ICJyYiIv IndiIiBtb2RlLiAgU2FtZQogICAgIyBmb3IgIndjIiB3aXRoIHN0ZGluLgog ICAgY3JzPSQodHIgLWNkICdccicgPCAiJHt0Zn0iIHwgd2MgLWMpCiAgICBb ICR7Y3JzfSAtbmUgMCBdICYmIGVjaG8gIkNSIGZvdW5kIGluICR7dGZ9LiIg fHwgZWNobyAiQ1Igbm90IGZvdW5kIGluICR7dGZ9LiIKfQoKZGlyPSIvdG1w L3RleHRtb2RlLSQkIgpta2RpciAiJHtkaXJ9IgoKdW1vdW50IC90ZXh0bW9k ZSB8fCA6CiMgTm90ZSB0aGUgIi10IiBhcmd1bWVudCBzZXR0aW5nIHRoZSAi bm9iaW5tb2RlIiwgb3IgInRleHQgbW9kZSIsIGZsYWcgb24gdGhlCiMgbW91 bnQuCm1vdW50IC10ICIkKGN5Z3BhdGggLXcgIiR7ZGlyfSIpIiAvdGV4dG1v ZGUKCnRmMT0iL3RleHRtb2RlL2ZpbGUxLnR4dCIKdGYyPSIvdGV4dG1vZGUv ZmlsZTIudHh0Igp0ZjM9Ii90ZXh0bW9kZS9maWxlMy50eHQiCnRmND0iL3Rl eHRtb2RlL2ZpbGU0LnR4dCIKdGY1PSIvdGV4dG1vZGUvZmlsZTUudHh0Igp0 ZjY9Ii90ZXh0bW9kZS9maWxlNi50eHQiCgojIFRoZSBkZWZhdWx0IHRleHQg b3V0cHV0IG1vZGUgc3Vic3RpdHV0ZXMgJ1xuJyB3aXRoICdcclxuJy4KZWNo byAiZm9vIiA+ICIke3RmMX0iCmVjaG8gImJhciIgPj4gIiR7dGYxfSIKCiMg QXMgb2YgdmVyc2lvbiA0LjQuMCwgeGFyZ3MgcmV1c2VzIHRoZSBleGlzdGlu ZyBtb2RlIG9mIHN0ZGluLiAgVGhpcyBpcyBhbgojIGlzc3VlIGJlY2F1c2Ug Q3lnd2luIHBhc3NlcyBhIGZpbGUgaGFuZGxlIG9mIHRoZSBpbmNvbWluZyBw aXBlIGFzIGEgYmluYXJ5CiMgInJiIiBzdGFuZGFyZCBpbnB1dCB0byB0aGUg cHJvZ3JhbXMuICBTdWNoIGNvbnZlbnRpb24gd291bGQgcHJlc2VydmUKIyBp bnRlZ3JpdHkgb2YgY29tbW9uIGJpbmFyeSBzdHJlYW1zIGNyZWF0ZWQgYnkg cHJvZ3JhbXMgc3VjaCBhcyAiZ3ppcCIgYW5kCiMgInRhciIuCiMKIyAgICBo dHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY2dpdC9maW5kdXRpbHMuZ2l0 L3RyZWUveGFyZ3MveGFyZ3MuYz9pZD03OTc3OWQ1NzJhNzI1N2FjMDc0MWVi M2JmMzNhZTFkZWU1OTA0ZDg5CiMKIyAgICBodHRwOi8vd3d3Lm9wZW5ncm91 cC5vcmcvb25saW5lcHVicy8wMDAwOTUzOTkvZnVuY3Rpb25zL2ZyZW9wZW4u aHRtbAojCiMgTkI6IEl0IGFwcGVhcnMgdGhhdCBDeWd3aW4gb3BlbnMgZmls ZSByZWRpcmVjdHMgaW4gdGhlIGRlZmF1bHQgInIiIG1vZGUgYW5kCiMgd2ls bCBkZWNpZGUgb24gZW5hYmxpbmcgdGhlIGJpbmFyeSAicmIiIG1vZGUgdXNp bmcgaXRzICJiaW5tb2RlIiBoZXVyaXN0aWMKIyBydWxlcy4gIE9ubHkgcGlw ZXMgYXJlIGRpZmZlcmVudC4KIyAKIyBOQjogV2l0aCB0aGUgYWJvdmUgaW4g bWluZCwgdGhlIGZvbGxvd2luZyBydWxlcyBzaG91bGQgYmUgYWRoZXJlZCB0 byBieSB0aGUKIyBjb2RlIGZvciBpdCB0byB3b3JrIGluIGFjY29yZCB3aXRo IHRoZSBVbml4LW9uLVdpbmRvd3MgT1MgZW52aXJvbm1lbnQuCiMKIyAgIChh KSBUZXh0IHByb2Nlc3NpbmcgY29kZSBzaG91bGQgZnJlb3BlbigpIHN0ZGlu IGFuZCBzdGRvdXQgd2l0aCB0aGUgInIiIGFuZAojICAgICAgICJ3IiBtb2Rl cywgcmVzcGVjdGl2ZWx5LgojCiMgICAoYikgQmluYXJ5IHN0cmVhbSBwcm9j ZXNzaW5nIHNob3VsZCBmcmVvcGVuKCkgc3RkaW4gYW5kIHN0ZG91dCB3aXRo ICJyYiIKIyAgICAgICBhbmQgIndiIiwgcmVzcGVjdGl2ZWx5LgojCmNhdCAi JHt0ZjF9IiB8IHhhcmdzIC1pIGVjaG8gLW4gIj09e309PSIgPiAiJHt0ZjJ9 IgoKY2F0ICIke3RmMX0iIHwgdHIgLWQgJ1xyJyA+ICIke3RmM30iCgpjYXQg IiR7dGYzfSIgfCB4YXJncyAtaSBlY2hvIC1uICI9PXt9PT0iID4gIiR7dGY0 fSIKCmlmIFsgIi4kMSIgPT0gIi5nemlwIiBdIDsgdGhlbgogICAgIyBBZGQg YSBkaXJlY3Rvcnkgb2YgdGhlIGxhdGVzdCBnemlwIGZyb20gaHR0cDovL2dp dC5zdi5nbnUub3JnL3IvZ3ppcC5naXQKICAgIGd6aXBkaXI9IiQyIgogICAg ZWNobyAiZ3ppcCBkaXI6ICR7Z3ppcGRpcn0iCiAgICB0ZXN0IC14ICIke2d6 aXBkaXJ9L2d6aXAiCiAgICBQQVRIPSIke2d6aXBkaXJ9OiR7UEFUSH0iCiAg ICBlY2hvICJhYmNkZWZnaGkiIHwgdHIgLWQgJ1xyJyB8IGd6aXAgLWMgPiAi JHt0ZjV9IgogICAgIyBUaGlzIGZhaWxzIHRvIGRlY29tcHJlc3MgYmVjYXVz ZSBjb21wcmVzc2VkIGRhdGEgaGFzIGEgbGluZSBmZWVkIGNoYXJhY3Rlcgog ICAgIyAnXG4nLiAgT24gY29tcHJlc3NpbmcsIHN0ZG91dCBpcyBsZWZ0IGlu IGl0cyBkZWZhdWx0ICh0ZXh0KSBtb2RlIHdoaWNoIGNhdXNlcwogICAgIyAn XG4nIHRvIGJlIHByZWZpeGVkIHdpdGggJ1xyJy4gIE9uIGRlY29tcHJlc3Np bmcsIHRoZSBpbnB1dCBmcm9tIHRoZSBwaXBlIGlzCiAgICAjIGxlZnQgaW4g dGhlIGJpbmFyeSBtb2RlLgogICAgIyAgICBnemlwOiBzdGRpbjogaW52YWxp ZCBjb21wcmVzc2VkIGRhdGEtLWxlbmd0aCBlcnJvcgogICAgY2F0ICIke3Rm NX0iIHwgZ3ppcCAtZGMgPiAvZGV2L251bGwgfHwgOgoKICAgICMgVGhpcyBk ZWNvbXByZXNzZXMgY29ycmVjdGx5IGJlY2F1c2UgQ3lnd2luIGNyZWF0ZXMg c3Rkb3V0IGluIHRoZSBiaW5hcnkgIndiIgogICAgIyBtb2RlIGZvciAiZ3pp cCAtYyIuICBUaGUgZGVjb21wcmVzc29yIGxlYXZlcyBzdGRpbiBpbiBpdHMg InJiIiBtb2RlLiAgQnV0IHRoZQogICAgIyBkZWNvbXByZXNzb3Igc2F2ZXMg b3V0cHV0IHRvIHN0ZG91dCBjcmVhdGVkIGJ5IEJhc2ggdXNpbmcgdGhlIGRl ZmF1bHQgInciCiAgICAjIG1vZGUgd2hpY2ggb24gYSB0ZXh0bW9kZSBtb3Vu dCB3aWxsIGFkZCAnXHInIGluIGZyb250IG9mIGVhY2ggJ1xuJy4KICAgIGVj aG8gImFiY2RlZmdoaSIgfCB0ciAtZCAnXHInIHwgZ3ppcCAtYyB8IGd6aXAg LWRjID4gIiR7dGY2fSIKZmkKCmZpbmRfY3JzICIke3RmMX0iICAgIyBDUiBm b3VuZApmaW5kX2NycyAiJHt0ZjJ9IiAgICMgQ1IgZm91bmQgKFNhdmFubmFo IGJ1ZyAyNzk4MyBpbiB4YXJncyA0LjQuMCkKZmluZF9jcnMgIiR7dGYzfSIg ICAjIENSIG5vdCBmb3VuZApmaW5kX2NycyAiJHt0ZjR9IiAgICMgQ1Igbm90 IGZvdW5kCm49NAppZiBbICIuJDEiID09ICIuZ3ppcCIgXSA7IHRoZW4KICAg IGZpbmRfY3JzICIke3RmNX0iICAgIyBDUiBmb3VuZCAoYnVnIGluIGd6aXAg dGFpbG9yLmggZHVlIHRvIFdJTjMyIG5vdCBkZWZpbmVkIHdoZW4gYnVpbGRp bmcgaW4gQ3lnd2luKQogICAgZmluZF9jcnMgIiR7dGY2fSIgICAjIENSIGZv dW5kIChzYW1lIGFzIGFib3ZlKQogICAgbj02CmZpCgp1bW91bnQgL3RleHRt b2RlCiMgZm9yICgoaT0xO2k8PSR7bn07aSsrKSkgOyBkbyBlY2hvICIke2Rp cn0vZmlsZSR7aX0udHh0IiA7IGhleGR1bXAgLUMgIiR7ZGlyfS9maWxlJHtp fS50eHQiIDsgZG9uZQpybSAtcmYgIiR7ZGlyfSIKCg== --0-1724877961-1269646535=:64734 Content-Type: text/plain; charset=us-ascii -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --0-1724877961-1269646535=:64734--