diff options
author | Richard M. Stallman <rms@gnu.org> | 1996-02-10 08:48:48 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1996-02-10 08:48:48 +0000 |
commit | c9807d950a2b30b89df8f20c6e7a589b87451340 (patch) | |
tree | dd5b175c58384adcd86de5a7239e8534015893fd /src/keyboard.c | |
parent | 9296f4359915c71aef7274c2e8810905fa996e42 (diff) | |
download | emacs-c9807d950a2b30b89df8f20c6e7a589b87451340.tar.gz |
(read_char, timer_check): Call any_kboard_state
after calling Fcommand_execute, if was previously in that state.
Diffstat (limited to 'src/keyboard.c')
-rw-r--r-- | src/keyboard.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 585561c4076..5126a4f2944 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -2057,8 +2057,15 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu) if (!NILP (tem)) { + int was_locked = single_kboard; + last_input_char = c; Fcommand_execute (tem, Qnil, Fvector (1, &last_input_char)); + + /* Resume allowing input from any kboard, if that was true before. */ + if (!was_locked) + any_kboard_state (); + goto retry; } @@ -2931,11 +2938,18 @@ timer_check (do_it_now) if (do_it_now) { Lisp_Object tem, event; + int was_locked = single_kboard; + tem = get_keymap_1 (Vspecial_event_map, 0, 0); tem = get_keyelt (access_keymap (tem, Qtimer_event, 0, 0), 1); event = Fcons (Qtimer_event, Fcons (timer, Qnil)); Fcommand_execute (tem, Qnil, Fvector (1, &event)); + + /* Resume allowing input from any kboard, if that was true before. */ + if (!was_locked) + any_kboard_state (); + /* Since we have handled the event, we don't need to tell the caller to wake up and do it. */ } |