# HG changeset patch # User Gerd Moellmann # Date 982591069 0 # Node ID 66fbfa369f3e6c7deadd77eacc1606f99bb08b68 # Parent 39131193bfc19a5f292a91cffb78de4309598903 (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. diff -r 39131193bfc1 -r 66fbfa369f3e src/keyboard.c --- a/src/keyboard.c Mon Feb 19 13:55:36 2001 +0000 +++ b/src/keyboard.c Mon Feb 19 13:57:49 2001 +0000 @@ -927,6 +927,18 @@ 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 @@ 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))