Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: `make' completion in zsh-3.1.9



Bart Schaefer wrote:

> On Mar 20, 11:33am, Sven Wischnowsky wrote:
> } Subject: Re: `make' completion in zsh-3.1.9
> }
> } Bart Schaefer wrote:
> } 
> } > zsh% while read -e; do :; done < Makefile | less
> } > 
> } > hangs until interrupted.  This works:
> } > 
> } > zsh% { while read -e; do :; done < Makefile } | less
> } 
> } Hrm, works for me.  (Please not another non-reproducible-everywhere
> } job contorl bug, please please please...)
> 
> It appears that "less" never gets started on my RH5.2 machine.  The
> "while" loop runs until it has written 4k bytes, then it gets stuck.
> 
> If the file redirected to the while loop is less than 4k in size, it
> all works fine.

Argh.  Works on DU (large buffers, it seems), but not on Solaris.

The problem is that the loop is not put in a sub-shell.  Ahem.

And w.r.t. the code in execcmd() this is correct (of, course, code is
always correct, silly me).  But how can we solve this?  Didn't it once 
work?  Changing the test at exec.c:1968 to also test for is_cursh
makes it work only half the way -- less comes up, but if one leaves it 
(fast enough) the sub-shell gets blocked, trying to write into the
pipe and being too stupid to find out that it can't anymore.

I'm very much confused... anyone know what we are supposed to do now?


Bye
 Sven


--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author