aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1998-06-23 03:09:24 +0000
committerRichard M. Stallman1998-06-23 03:09:24 +0000
commit68c46464e63fab99ae49c59b3f48deb77a8bff28 (patch)
tree90cf6373322ea76570649c2ff5581f89e6cb4c63 /src
parent3ffde7d6913260ec054fa8711ddb8186632addd2 (diff)
downloademacs-68c46464e63fab99ae49c59b3f48deb77a8bff28.tar.gz
emacs-68c46464e63fab99ae49c59b3f48deb77a8bff28.zip
(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.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 9db0bca9683..0df3f09cd86 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1021,13 +1021,16 @@ command_loop ()
1021{ 1021{
1022 if (command_loop_level > 0 || minibuf_level > 0) 1022 if (command_loop_level > 0 || minibuf_level > 0)
1023 { 1023 {
1024 return internal_catch (Qexit, command_loop_2, Qnil); 1024 Lisp_Object val = internal_catch (Qexit, command_loop_2, Qnil);
1025 executing_macro = Qnil;
1026 return val;
1025 } 1027 }
1026 else 1028 else
1027 while (1) 1029 while (1)
1028 { 1030 {
1029 internal_catch (Qtop_level, top_level_1, Qnil); 1031 internal_catch (Qtop_level, top_level_1, Qnil);
1030 internal_catch (Qtop_level, command_loop_2, Qnil); 1032 internal_catch (Qtop_level, command_loop_2, Qnil);
1033 executing_macro = Qnil;
1031 1034
1032 /* End of file in -batch run causes exit here. */ 1035 /* End of file in -batch run causes exit here. */
1033 if (noninteractive) 1036 if (noninteractive)