changeset 56093:53ee24947683

(cmd_error): Don't call any_kboard_state if inside a recursive edit level. (command_loop): Call any_kboard_state before command_loop_2 when at top level.
author Richard M. Stallman <rms@gnu.org>
date Sun, 13 Jun 2004 22:39:20 +0000
parents 5839db7619ca
children 54229932d09a
files src/keyboard.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/keyboard.c	Sun Jun 13 22:37:07 2004 +0000
+++ b/src/keyboard.c	Sun Jun 13 22:39:20 2004 +0000
@@ -1158,7 +1158,8 @@
 
   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 @@
     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;