diff options
| author | Richard M. Stallman | 2004-06-13 22:39:20 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2004-06-13 22:39:20 +0000 |
| commit | e3ee34f0c34597d1b854be18c1598a98c9fba9fa (patch) | |
| tree | 2ba805d79a0772690089f49dccb0efa19422f091 /src | |
| parent | 04391069ec8107490a852d6f957e4f31d14c22ed (diff) | |
| download | emacs-e3ee34f0c34597d1b854be18c1598a98c9fba9fa.tar.gz emacs-e3ee34f0c34597d1b854be18c1598a98c9fba9fa.zip | |
(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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 86642a99552..b4b7e64e4ce 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1158,7 +1158,8 @@ cmd_error (data) | |||
| 1158 | 1158 | ||
| 1159 | Vinhibit_quit = Qnil; | 1159 | Vinhibit_quit = Qnil; |
| 1160 | #ifdef MULTI_KBOARD | 1160 | #ifdef MULTI_KBOARD |
| 1161 | any_kboard_state (); | 1161 | if (command_loop_level == 0 && minibuf_level == 0) |
| 1162 | any_kboard_state (); | ||
| 1162 | #endif | 1163 | #endif |
| 1163 | 1164 | ||
| 1164 | return make_number (0); | 1165 | return make_number (0); |
| @@ -1247,6 +1248,10 @@ command_loop () | |||
| 1247 | while (1) | 1248 | while (1) |
| 1248 | { | 1249 | { |
| 1249 | internal_catch (Qtop_level, top_level_1, Qnil); | 1250 | internal_catch (Qtop_level, top_level_1, Qnil); |
| 1251 | /* Reset single_kboard in case top-level set it while | ||
| 1252 | evaluating an -f option, or we are stuck there for some | ||
| 1253 | other reason. */ | ||
| 1254 | any_kboard_state (); | ||
| 1250 | internal_catch (Qtop_level, command_loop_2, Qnil); | 1255 | internal_catch (Qtop_level, command_loop_2, Qnil); |
| 1251 | executing_macro = Qnil; | 1256 | executing_macro = Qnil; |
| 1252 | 1257 | ||