diff options
| author | Richard M. Stallman | 1998-06-23 03:09:24 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1998-06-23 03:09:24 +0000 |
| commit | 68c46464e63fab99ae49c59b3f48deb77a8bff28 (patch) | |
| tree | 90cf6373322ea76570649c2ff5581f89e6cb4c63 /src | |
| parent | 3ffde7d6913260ec054fa8711ddb8186632addd2 (diff) | |
| download | emacs-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.c | 5 |
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) |