zsh-workers
 help / color / mirror / code / Atom feed
From: "Peter A. Castro" <doctor@fruitbat.org>
To: m0viefreak <m0viefreak.cm@googlemail.com>
Cc: zsh-workers@zsh.org
Subject: Re: Possible ZSH bug with IO direction
Date: Mon, 25 Apr 2016 10:25:19 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LNX.2.00.1604251017100.6490@ming.fruitbat.org> (raw)
In-Reply-To: <571D3938.20905@googlemail.com>

On Sun, 24 Apr 2016, m0viefreak wrote:

> Date: Sun, 24 Apr 2016 23:23:04 +0200
> From: m0viefreak <m0viefreak.cm@googlemail.com>
> To: zsh-workers@zsh.org
> Subject: Re: Possible ZSH bug with IO direction

Greetings, m0viefreak (great name, btw).

> On 24.04.2016 21:01, Peter Stephenson wrote:
>> On Sun, 24 Apr 2016 11:36:44 -0700
>> Bart Schaefer <schaefer@brasslantern.com> wrote:
>>> On Apr 24,  1:17pm, Peter Stephenson wrote:
>>> }
>>> } Mounting the filesystem within Cygwin as binary works here.
>>>
>>> Really?  That contradicts what the main.c comment asserts.
>>
>> So it seems like "binary" isn't quite what it's cracked up to be.
>>
>> The alternative might be to do something similar in the lower levels of
>> zsh, i.e. map \r\n to \n when reading shell input.  If done in input.c
>> it's no worse than doing it in the OS abstraction, and doesn't affect
>> fd's used by othe programmes.
>
> I think the cygwin_premain0 in main.c is very dangerous.
>
> In fact, bash had the same problem years ago and the hook was removed.
> See http://cygwin.com/ml/cygwin/2006-10/msg00989.html for details.

The hook was removed and replaced with an external control: igncr

This control either must be set via envvar SHELLOPTS before starting bash, 
or the script must set it explicitly at the top of any script being 
run/sourced.  Not a very transparent or convenient fix in my opinion.

> Another example I found:
>
> $ zcat < mc.1.gz > /dev/null
> gzip: stdin: invalid compressed data--crc error
> gzip: stdin: invalid compressed data--length error
>
> zcat is forced to use O_TEXT and fails to decompress the file whil using
> $ zcat mc.1.gz'
> directy works just fine.
>
> IMHO cygwin_premain0 should be removed completely. As a result,of
> course, scripts created in windows editors such as notepad, that contain
> CRLF line endings, could lead to syntax errors, but surely that's less
> of a problem and easily fixable using a proper editor.

You might think it would be, but I've had people complain about it, hence 
the hook I introduced.  You wouldn't believe the tongue-lashing I received 
for suggesting people use "binary" mode mounts and just run dos2unix on 
*all* of their scripts (and input files).  Oh yes, "less of a problem" 
indeed.  :-/

-- 
--=> Peter A. Castro
Email: doctor at fruitbat dot org / Peter dot Castro at oracle dot com
 	"Cats are just autistic Dogs" -- Dr. Tony Attwood


  parent reply	other threads:[~2016-04-25 17:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-23 18:30 Roger Qiu
2016-04-23 22:14 ` Bart Schaefer
2016-04-24 12:17   ` Peter Stephenson
2016-04-24 18:36     ` Bart Schaefer
2016-04-24 19:01       ` Peter Stephenson
2016-04-24 21:23         ` m0viefreak
2016-04-25  9:12           ` Peter Stephenson
2016-04-25 17:25           ` Peter A. Castro [this message]
2016-04-24 21:53         ` Bart Schaefer
2016-04-25  8:46           ` Peter Stephenson
2016-04-25 21:12           ` Mikael Magnusson
2016-04-25 17:16         ` Peter A. Castro
2016-04-24 17:08   ` Roger Qiu
2016-04-24 18:35     ` Bart Schaefer
2016-04-25 17:31       ` Peter A. Castro
2016-04-25 17:47         ` Bart Schaefer
2016-04-25 18:14           ` Peter A. Castro
2016-04-26  9:16             ` Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LNX.2.00.1604251017100.6490@ming.fruitbat.org \
    --to=doctor@fruitbat.org \
    --cc=m0viefreak.cm@googlemail.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).