changeset 22551:10770ff8e88f

(command_loop): Reset executing_macro after command_loop_2 has returned, in case a throw to exit or top-level was executed as part of a keyboard macro.
author Richard M. Stallman <rms@gnu.org>
date Tue, 23 Jun 1998 03:09:24 +0000
parents 4ec5c343db1f
children c9dbdcb10fdf
files src/keyboard.c
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/keyboard.c	Tue Jun 23 03:07:05 1998 +0000
+++ b/src/keyboard.c	Tue Jun 23 03:09:24 1998 +0000
@@ -1021,13 +1021,16 @@
 {
   if (command_loop_level > 0 || minibuf_level > 0)
     {
-      return internal_catch (Qexit, command_loop_2, Qnil);
+      Lisp_Object val = internal_catch (Qexit, command_loop_2, Qnil);
+      executing_macro = Qnil;
+      return val;
     }
   else
     while (1)
       {
 	internal_catch (Qtop_level, top_level_1, Qnil);
 	internal_catch (Qtop_level, command_loop_2, Qnil);
+	executing_macro = Qnil;
 
 	/* End of file in -batch run causes exit here.  */
 	if (noninteractive)