Mercurial > emacs
changeset 55659:4771569ccabb
(Frecursive_edit): Return immediately if input blocked.
(Ftop_level): Unblock input if blocked.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Mon, 17 May 2004 23:07:15 +0000 |
parents | 0e26a0be1ee5 |
children | 0c5adcb1dce9 |
files | src/keyboard.c |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keyboard.c Mon May 17 23:06:16 2004 +0000 +++ b/src/keyboard.c Mon May 17 23:07:15 2004 +0000 @@ -996,6 +996,11 @@ int count = SPECPDL_INDEX (); Lisp_Object buffer; + /* If we enter while input is blocked, don't lock up here. + This may happen through the debugger during redisplay. */ + if (INPUT_BLOCKED_P) + return Qnil; + command_loop_level++; update_mode_lines = 1; @@ -1294,6 +1299,12 @@ if (display_hourglass_p) cancel_hourglass (); #endif + + /* Unblock input if we enter with input blocked. This may happen if + redisplay traps e.g. during tool-bar update with input blocked. */ + while (INPUT_BLOCKED_P) + UNBLOCK_INPUT; + return Fthrow (Qtop_level, Qnil); }