[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/keyboard.c
From: |
Jan Djärv |
Subject: |
[Emacs-diffs] Changes to emacs/src/keyboard.c |
Date: |
Thu, 10 Mar 2005 14:08:31 -0500 |
Index: emacs/src/keyboard.c
diff -c emacs/src/keyboard.c:1.813 emacs/src/keyboard.c:1.814
*** emacs/src/keyboard.c:1.813 Sun Mar 6 16:04:06 2005
--- emacs/src/keyboard.c Thu Mar 10 19:08:31 2005
***************
*** 1350,1355 ****
--- 1350,1360 ----
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);
}
***************
*** 9711,9716 ****
--- 9716,9730 ----
Lisp_Object saved_keys, saved_last_point_position_buffer;
Lisp_Object bindings, value;
struct gcpro gcpro1, gcpro2, gcpro3;
+ #ifdef HAVE_X_WINDOWS
+ /* The call to Fcompleting_read wil start and cancel the hourglass,
+ but if the hourglass was already scheduled, this means that no
+ hourglass will be shown for the actual M-x command itself.
+ So we restart it if it is already scheduled. Note that checking
+ hourglass_shown_p is not enough, normally the hourglass is not shown,
+ just scheduled to be shown. */
+ int hstarted = hourglass_started ();
+ #endif
saved_keys = Fvector (this_command_key_count,
XVECTOR (this_command_keys)->contents);
***************
*** 9742,9747 ****
--- 9756,9765 ----
Qt, Qnil, Qextended_command_history, Qnil,
Qnil);
+ #ifdef HAVE_X_WINDOWS
+ if (hstarted) start_hourglass ();
+ #endif
+
if (STRINGP (function) && SCHARS (function) == 0)
error ("No command name given");