Subject: Re: Possible ZSH bug with IO direction
From: "Peter A. Castro" <[email-masked]>
To: Peter Stephenson <[email-masked]>
Cc: [email-masked]
Date: Mon, 25 Apr 2016 10:16:58 -0700 (PDT)
List-Id: Zsh Workers List <zsh-workers.zsh.org>

On Sun, 24 Apr 2016, Peter Stephenson wrote:

> Date: Sun, 24 Apr 2016 20:01:32 +0100
> From: Peter Stephenson <[email-masked]>
> To: [email-masked]
> Subject: Re: Possible ZSH bug with IO direction

Greetings, Peter S.
   I'm the author of the offending Cygwin pre-main hook, so you can
squarely level any complains about it at me.  I'm also the maintainer of
the Cygwin port, for whatever that's worth.  :)

> On Sun, 24 Apr 2016 11:36:44 -0700
> Bart Schaefer <[email-masked]> 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.

No, it's not.  Neither is "text" mode. :)

> 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 tried to put this kind of specific control (O_TEXT) only in input.c 
(and a few other places), but there are too many places in the code that 
just "know" line-termination is 1 character and either loop trying to read 
more input or simply choke on the difference in size read vs. size 
expected.  It quickly became dozens of source modules affected and still I 
wasn't catching them all.
   I never really got it to work fully and just gave up, putting in the 
pre-main hook as a band-aid until some better solution presented itself. 
Really, the code needs to understand CR+LF.
   I lacked the time to fully understand all of the Zsh code so never went 
back to try and create a proper fix.  Some guidance on this would be 
welcome.

> pws

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