]> code.delx.au - gnu-emacs/commitdiff
(cmd_error): Don't call any_kboard_state if inside a recursive edit level.
authorRichard M. Stallman <rms@gnu.org>
Sun, 13 Jun 2004 22:39:20 +0000 (22:39 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 13 Jun 2004 22:39:20 +0000 (22:39 +0000)
(command_loop): Call any_kboard_state before command_loop_2 when at top level.

src/keyboard.c

index 86642a99552c4bd3406a4829edcb5231d87561f8..b4b7e64e4ce702b3925649b9473af1c834b2a8ae 100644 (file)
@@ -1158,7 +1158,8 @@ cmd_error (data)
 
   Vinhibit_quit = Qnil;
 #ifdef MULTI_KBOARD
-  any_kboard_state ();
+  if (command_loop_level == 0 && minibuf_level == 0)
+    any_kboard_state ();
 #endif
 
   return make_number (0);
@@ -1247,6 +1248,10 @@ command_loop ()
     while (1)
       {
        internal_catch (Qtop_level, top_level_1, Qnil);
+       /* Reset single_kboard in case top-level set it while
+          evaluating an -f option, or we are stuck there for some
+          other reason.  */
+       any_kboard_state ();
        internal_catch (Qtop_level, command_loop_2, Qnil);
        executing_macro = Qnil;