GNU bug report logs -
#78737
sit-for behavior changes when byte-compiled
Previous Next
Full log
View this message in rfc822 format
"Stefan Monnier" <monnier <at> iro.umontreal.ca> writes:
>> What is a "normal quit"?
>
> A single C-g.
>
>> What is "emergency quit"?
>
> Something like `C-g C-g C-g`, tho we don't have that implemented,
> currently, AFAIK.
It's implemented. See handle_interrupt in keyboard.c:
/* Request quit when it's safe. */
int count = NILP (Vquit_flag) ? 1 : force_quit_count + 1;
force_quit_count = count;
if (count == 3)
Vinhibit_quit = Qnil;
Vquit_flag = Qt;
The "emergency" part is clearing the inhibit-quit flag when
force_quit_count reaches 3. The bug is that it should be >= 3, and the
questionable design feature is that we should reset the counter if
Vquit_flag and Vinhibit_quit are both nil, not just based on Vquit_flag.
However, there's also the rest of handle_interrupt, which applies to
terminal sessions and takes them through an interactive text adventure
which never clears Vinhibit_quit.
Pip
This bug report was last modified 4 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.