Mercurial > emacs
changeset 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 | a5dd77dcb82e |
children | 36d7c274dcef |
files | src/keyboard.c |
diffstat | 1 files changed, 13 insertions(+), 3 deletions(-) [+] |
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; + } + } }