diff options
author | Gerd Moellmann <gerd@gnu.org> | 2001-02-19 13:58:17 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2001-02-19 13:58:17 +0000 |
commit | 980a2d69dd1eb60c210d73c5b1fd9a0e4c5d966f (patch) | |
tree | 8fc891ed4d7f4dfe3c44990711cceffd9bf2cfa8 /src | |
parent | 184d2372c520ad33f833e09052343eabb4aa39b4 (diff) | |
download | emacs-980a2d69dd1eb60c210d73c5b1fd9a0e4c5d966f.tar.gz |
(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 @@ 2001-02-19 Gerd Moellmann <gerd@gnu.org> + * keyboard.c (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. + * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update): New variables. (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 () cancel_busy_cursor (); #endif + /* This function may have been called from a debugger called from + within redisplay, for instance by Edebugging a function called + from fontification-functions. We want to allow redisplay in + the debugging session. + + The recursive edit is left with a `(throw exit ...)'. The `exit' + tag is not caught anywhere in redisplay, i.e. when we leave the + recursive edit, the original redisplay leading to the recursive + edit will be unwound. The outcome should therefore be safe. */ + specbind (Qinhibit_redisplay, Qnil); + redisplaying_p = 0; + val = command_loop (); if (EQ (val, Qt)) Fsignal (Qquit, Qnil); @@ -969,18 +981,6 @@ This function is called by the editor initialization to begin editing.") command_loop_level++; update_mode_lines = 1; - /* This function may have been called from a debugger called from - within redisplay, for instance by Edebugging a function called - from fontification-functions. We want to allow redisplay in - the debugging session. - - The recursive edit is left with a `(throw exit ...)'. The `exit' - tag is not caught anywhere in redisplay, i.e. when we leave the - recursive edit, the original redisplay leading to the recursive - edit will be unwound. The outcome should therefore be safe. */ - specbind (Qinhibit_redisplay, Qnil); - redisplaying_p = 0; - record_unwind_protect (recursive_edit_unwind, (command_loop_level && current_buffer != XBUFFER (XWINDOW (selected_window)->buffer)) |