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

Re: Infinite loop (bug in wordcode evaluation?)



Bart Schaefer wrote:

> } The problem is that none of the functions in loop.c check if retflag
> } is set and hence don't return. But this was not changed by the
> } wordcode stuff  -- and a older zsh without that I have here behaves
> } the same. In fact, I think that zsh behaved this way either always or
> } for a long time.
> 
> I can't find any loop construct in 3.0.7 that produces this behavior,
> yet 3.0.7 does not have any of those extra retflag tests in loop.c.
> 
> Does anyone know what else might have changed to cause this problem?
> I want to understand it so that I don't leave a bug in 3.0.8.

Found it. getkey() in zle_main.c now resets `breaks' to the value it had 
before, so that the new value stored in bin_break() set by the signal
handler doesn't make it through to the execution code.

Dunno where this comes from, though. If it turns out that this is
wrong (at least doing it unconditionally as we do it now), we can
remove the tests in loop.c again.


Bye
 Sven


--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



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