delorie.com/archives/browse.cgi | search |
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 <ilatypov AT infradead DOT org> |
Subject: | update on tr feasibility in text mode docs |
To: | cygwin AT cygwin DOT com |
MIME-Version: | 1.0 |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
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</para> <screen> <![CDATA[ #!/bin/sh # Remove \r from the file given as argument tr -d '\r' < "$1" > "$1".nocr ]]> </screen> <para> 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--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |