Mercurial > emacs
diff src/keyboard.c @ 59052:e108ef5b9044
(kbd_buffer_store_event_hold):
In the code for while-no-input, handle immediate_quit.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Tue, 21 Dec 2004 11:34:42 +0000 |
| parents | 59945307b86b |
| children | 867a7d5055b2 4ee39d9428b0 |
line wrap: on
line diff
--- a/src/keyboard.c Tue Dec 21 11:33:57 2004 +0000 +++ b/src/keyboard.c Tue Dec 21 11:34:42 2004 +0000 @@ -3711,13 +3711,23 @@ ++kbd_store_ptr; } - /* If we're in a section that requested to be interrupted as soon - as input comes, then set quit-flag to cause an interrupt. */ + /* If we're inside while-no-input, and this event qualifies + as input, set quit-flag to cause an interrupt. */ if (!NILP (Vthrow_on_input) && event->kind != FOCUS_IN_EVENT && event->kind != HELP_EVENT && event->kind != DEICONIFY_EVENT) - Vquit_flag = Vthrow_on_input; + { + Vquit_flag = Vthrow_on_input; + /* If we're inside a function that wants immediate quits, + do it now. */ + if (immediate_quit && NILP (Vinhibit_quit)) + { + immediate_quit = 0; + sigfree (); + QUIT; + } + } }
