aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1996-02-10 08:48:48 +0000
committerRichard M. Stallman1996-02-10 08:48:48 +0000
commitba8dfba86d49b44c07256c8034a8f19104033b4b (patch)
tree2edd02b27f8bd53b708be43830eae860390b968b /src
parent37962e6044a290c03c3510f75e9bf322a213c969 (diff)
downloademacs-ba8dfba86d49b44c07256c8034a8f19104033b4b.tar.gz
emacs-ba8dfba86d49b44c07256c8034a8f19104033b4b.zip
(read_char, timer_check): Call any_kboard_state
after calling Fcommand_execute, if was previously in that state.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c14
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)
2057 2057
2058 if (!NILP (tem)) 2058 if (!NILP (tem))
2059 { 2059 {
2060 int was_locked = single_kboard;
2061
2060 last_input_char = c; 2062 last_input_char = c;
2061 Fcommand_execute (tem, Qnil, Fvector (1, &last_input_char)); 2063 Fcommand_execute (tem, Qnil, Fvector (1, &last_input_char));
2064
2065 /* Resume allowing input from any kboard, if that was true before. */
2066 if (!was_locked)
2067 any_kboard_state ();
2068
2062 goto retry; 2069 goto retry;
2063 } 2070 }
2064 2071
@@ -2931,11 +2938,18 @@ timer_check (do_it_now)
2931 if (do_it_now) 2938 if (do_it_now)
2932 { 2939 {
2933 Lisp_Object tem, event; 2940 Lisp_Object tem, event;
2941 int was_locked = single_kboard;
2942
2934 tem = get_keymap_1 (Vspecial_event_map, 0, 0); 2943 tem = get_keymap_1 (Vspecial_event_map, 0, 0);
2935 tem = get_keyelt (access_keymap (tem, Qtimer_event, 0, 0), 2944 tem = get_keyelt (access_keymap (tem, Qtimer_event, 0, 0),
2936 1); 2945 1);
2937 event = Fcons (Qtimer_event, Fcons (timer, Qnil)); 2946 event = Fcons (Qtimer_event, Fcons (timer, Qnil));
2938 Fcommand_execute (tem, Qnil, Fvector (1, &event)); 2947 Fcommand_execute (tem, Qnil, Fvector (1, &event));
2948
2949 /* Resume allowing input from any kboard, if that was true before. */
2950 if (!was_locked)
2951 any_kboard_state ();
2952
2939 /* Since we have handled the event, 2953 /* Since we have handled the event,
2940 we don't need to tell the caller to wake up and do it. */ 2954 we don't need to tell the caller to wake up and do it. */
2941 } 2955 }