From 85e7f4776aa861a7e1fe994a787987ea923a6936 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 21 Dec 2004 11:34:42 +0000 Subject: [PATCH] (kbd_buffer_store_event_hold): In the code for while-no-input, handle immediate_quit. --- src/keyboard.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/keyboard.c b/src/keyboard.c index ffd36acb335..f5ca087227d 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -3711,13 +3711,23 @@ kbd_buffer_store_event_hold (event, hold_quit) ++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; + } + } } -- 2.39.2