# HG changeset patch # User Richard M. Stallman # Date 823942128 0 # Node ID 60e0c134c055c95d5eb6b2473d0c94ea86c70a26 # Parent 12de7dac154b360e1244b02c62467198a328c30a (read_char, timer_check): Call any_kboard_state after calling Fcommand_execute, if was previously in that state. diff -r 12de7dac154b -r 60e0c134c055 src/keyboard.c --- a/src/keyboard.c Sat Feb 10 07:33:29 1996 +0000 +++ b/src/keyboard.c Sat Feb 10 08:48:48 1996 +0000 @@ -2057,8 +2057,15 @@ 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 @@ 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. */ }