summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-02-19 13:58:17 +0000
committerGerd Moellmann <gerd@gnu.org>2001-02-19 13:58:17 +0000
commit980a2d69dd1eb60c210d73c5b1fd9a0e4c5d966f (patch)
tree8fc891ed4d7f4dfe3c44990711cceffd9bf2cfa8 /src
parent184d2372c520ad33f833e09052343eabb4aa39b4 (diff)
downloademacs-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/ChangeLog5
-rw-r--r--src/keyboard.c24
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))