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

Re: PATCH: exit after 10 EOF's



On Sun, 19 Sep 2004, Peter Stephenson wrote:

> I think the key bits that need discussing are...
> 
> > Returning to your excerpt far above, you appear to object to the fact that 
> > the conditions of "not internal" and "not completion" are simultaneously 
> > required in order for a widget binding to override the default behavior of 
> > setopt ignoreeof.  Is that an accurate summation?
> 
> Yes, particularly since even calling a builtin widget from a zle -N
> widget doesn't override the behaviour.

That actually has to do with the implementation of "zle name-of-widget". 
It passes back through the code that tests for whether to emit the warning 
(though not back through the code that exits).  I suppose one could argue 
that this is also intentional, so that one can create transparent wrappers 
around internal widgets, but in this case I doubt anyone thought that far
ahead.

Of course there _is_ a workaround:  "setopt localoptions noignoreeof" in 
widgets that use "zle name-of-widget".  However, I agree this is not the 
ideal solution.

> My guess is that because of this problem very few people are relying on 
> (nor possibly even aware of, despite the documentation) the suppress- 
> message behaviour of widget binding, so the inconvenience is minimal.

I don't disagree -- in fact, I think it's more likely that people are
unknowingly relying on the unintentional transparency behavior.  Certainly
a lot of people are unknowingly relying on the "not a completion widget"
behavior.  Either way, though, it makes changing it problematic.

I'm going to drop the discussion of "10 EOF characters" at this point 
because I'm increasingly of the opinion that counting 10 warnings instead 
is an agreeable solution, leaving us only with the question of how best to 
allow suppression of the warning.



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