diff options
| author | Gerd Moellmann | 2001-02-19 13:58:17 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-02-19 13:58:17 +0000 |
| commit | 980a2d69dd1eb60c210d73c5b1fd9a0e4c5d966f (patch) | |
| tree | 8fc891ed4d7f4dfe3c44990711cceffd9bf2cfa8 /src | |
| parent | 184d2372c520ad33f833e09052343eabb4aa39b4 (diff) | |
| download | emacs-980a2d69dd1eb60c210d73c5b1fd9a0e4c5d966f.tar.gz emacs-980a2d69dd1eb60c210d73c5b1fd9a0e4c5d966f.zip | |
(recursive_edit_1): Bind `inhibit-redisplay' and
set redisplaying_p to 0 here instead of in Frecursive_edit.
(Frecursive_edit): Don't bind `inhibit-redisplay' and don't
set redisplaying_p.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/keyboard.c | 24 |
2 files changed, 17 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 6da6931083e..80aedce45f2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | 2001-02-19 Gerd Moellmann <gerd@gnu.org> | 1 | 2001-02-19 Gerd Moellmann <gerd@gnu.org> |
| 2 | 2 | ||
| 3 | * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and | ||
| 4 | set redisplaying_p to 0 here instead of in Frecursive_edit. | ||
| 5 | (Frecursive_edit): Don't bind `inhibit-redisplay' and don't | ||
| 6 | set redisplaying_p. | ||
| 7 | |||
| 3 | * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update): | 8 | * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update): |
| 4 | New variables. | 9 | New variables. |
| 5 | (syms_of_xdisp): Initialize new variables. | 10 | (syms_of_xdisp): Initialize new variables. |
diff --git a/src/keyboard.c b/src/keyboard.c index 15c05e8f44e..cc2b41c4b9d 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -927,6 +927,18 @@ recursive_edit_1 () | |||
| 927 | cancel_busy_cursor (); | 927 | cancel_busy_cursor (); |
| 928 | #endif | 928 | #endif |
| 929 | 929 | ||
| 930 | /* This function may have been called from a debugger called from | ||
| 931 | within redisplay, for instance by Edebugging a function called | ||
| 932 | from fontification-functions. We want to allow redisplay in | ||
| 933 | the debugging session. | ||
| 934 | |||
| 935 | The recursive edit is left with a `(throw exit ...)'. The `exit' | ||
| 936 | tag is not caught anywhere in redisplay, i.e. when we leave the | ||
| 937 | recursive edit, the original redisplay leading to the recursive | ||
| 938 | edit will be unwound. The outcome should therefore be safe. */ | ||
| 939 | specbind (Qinhibit_redisplay, Qnil); | ||
| 940 | redisplaying_p = 0; | ||
| 941 | |||
| 930 | val = command_loop (); | 942 | val = command_loop (); |
| 931 | if (EQ (val, Qt)) | 943 | if (EQ (val, Qt)) |
| 932 | Fsignal (Qquit, Qnil); | 944 | Fsignal (Qquit, Qnil); |
| @@ -969,18 +981,6 @@ This function is called by the editor initialization to begin editing.") | |||
| 969 | command_loop_level++; | 981 | command_loop_level++; |
| 970 | update_mode_lines = 1; | 982 | update_mode_lines = 1; |
| 971 | 983 | ||
| 972 | /* This function may have been called from a debugger called from | ||
| 973 | within redisplay, for instance by Edebugging a function called | ||
| 974 | from fontification-functions. We want to allow redisplay in | ||
| 975 | the debugging session. | ||
| 976 | |||
| 977 | The recursive edit is left with a `(throw exit ...)'. The `exit' | ||
| 978 | tag is not caught anywhere in redisplay, i.e. when we leave the | ||
| 979 | recursive edit, the original redisplay leading to the recursive | ||
| 980 | edit will be unwound. The outcome should therefore be safe. */ | ||
| 981 | specbind (Qinhibit_redisplay, Qnil); | ||
| 982 | redisplaying_p = 0; | ||
| 983 | |||
| 984 | record_unwind_protect (recursive_edit_unwind, | 984 | record_unwind_protect (recursive_edit_unwind, |
| 985 | (command_loop_level | 985 | (command_loop_level |
| 986 | && current_buffer != XBUFFER (XWINDOW (selected_window)->buffer)) | 986 | && current_buffer != XBUFFER (XWINDOW (selected_window)->buffer)) |