diff options
| author | Richard M. Stallman | 2004-12-21 11:34:42 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2004-12-21 11:34:42 +0000 |
| commit | 85e7f4776aa861a7e1fe994a787987ea923a6936 (patch) | |
| tree | d953dd22216977275ec2a6b82d48ddee9aa7bd01 /src | |
| parent | 69bbd6bd04990994a53994c78d0184118e898d79 (diff) | |
| download | emacs-85e7f4776aa861a7e1fe994a787987ea923a6936.tar.gz emacs-85e7f4776aa861a7e1fe994a787987ea923a6936.zip | |
(kbd_buffer_store_event_hold):
In the code for while-no-input, handle immediate_quit.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 16 |
1 files 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) | |||
| 3711 | ++kbd_store_ptr; | 3711 | ++kbd_store_ptr; |
| 3712 | } | 3712 | } |
| 3713 | 3713 | ||
| 3714 | /* If we're in a section that requested to be interrupted as soon | 3714 | /* If we're inside while-no-input, and this event qualifies |
| 3715 | as input comes, then set quit-flag to cause an interrupt. */ | 3715 | as input, set quit-flag to cause an interrupt. */ |
| 3716 | if (!NILP (Vthrow_on_input) | 3716 | if (!NILP (Vthrow_on_input) |
| 3717 | && event->kind != FOCUS_IN_EVENT | 3717 | && event->kind != FOCUS_IN_EVENT |
| 3718 | && event->kind != HELP_EVENT | 3718 | && event->kind != HELP_EVENT |
| 3719 | && event->kind != DEICONIFY_EVENT) | 3719 | && event->kind != DEICONIFY_EVENT) |
| 3720 | Vquit_flag = Vthrow_on_input; | 3720 | { |
| 3721 | Vquit_flag = Vthrow_on_input; | ||
| 3722 | /* If we're inside a function that wants immediate quits, | ||
| 3723 | do it now. */ | ||
| 3724 | if (immediate_quit && NILP (Vinhibit_quit)) | ||
| 3725 | { | ||
| 3726 | immediate_quit = 0; | ||
| 3727 | sigfree (); | ||
| 3728 | QUIT; | ||
| 3729 | } | ||
| 3730 | } | ||
| 3721 | } | 3731 | } |
| 3722 | 3732 | ||
| 3723 | 3733 | ||