aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2005-03-10 19:08:31 +0000
committerJan Djärv2005-03-10 19:08:31 +0000
commita25e44b279d340849eeb55d1209e5409b664ad04 (patch)
tree55e1464e08147cff7eb0b13480b28282d0a486fb /src
parent83c31c8df0ee4f1bb4141a8917e20e3ca9ad5630 (diff)
downloademacs-a25e44b279d340849eeb55d1209e5409b664ad04.tar.gz
emacs-a25e44b279d340849eeb55d1209e5409b664ad04.zip
* keyboard.c (Fexecute_extended_command): Restart hourglass
after call to Fcompleting_read if already started.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index f507ea348f1..a1c3334bbb8 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1350,6 +1350,11 @@ DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, "",
1350 cancel_hourglass (); 1350 cancel_hourglass ();
1351#endif 1351#endif
1352 1352
1353 /* Unblock input if we enter with input blocked. This may happen if
1354 redisplay traps e.g. during tool-bar update with input blocked. */
1355 while (INPUT_BLOCKED_P)
1356 UNBLOCK_INPUT;
1357
1353 return Fthrow (Qtop_level, Qnil); 1358 return Fthrow (Qtop_level, Qnil);
1354} 1359}
1355 1360
@@ -9711,6 +9716,15 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
9711 Lisp_Object saved_keys, saved_last_point_position_buffer; 9716 Lisp_Object saved_keys, saved_last_point_position_buffer;
9712 Lisp_Object bindings, value; 9717 Lisp_Object bindings, value;
9713 struct gcpro gcpro1, gcpro2, gcpro3; 9718 struct gcpro gcpro1, gcpro2, gcpro3;
9719#ifdef HAVE_X_WINDOWS
9720 /* The call to Fcompleting_read wil start and cancel the hourglass,
9721 but if the hourglass was already scheduled, this means that no
9722 hourglass will be shown for the actual M-x command itself.
9723 So we restart it if it is already scheduled. Note that checking
9724 hourglass_shown_p is not enough, normally the hourglass is not shown,
9725 just scheduled to be shown. */
9726 int hstarted = hourglass_started ();
9727#endif
9714 9728
9715 saved_keys = Fvector (this_command_key_count, 9729 saved_keys = Fvector (this_command_key_count,
9716 XVECTOR (this_command_keys)->contents); 9730 XVECTOR (this_command_keys)->contents);
@@ -9742,6 +9756,10 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
9742 Qt, Qnil, Qextended_command_history, Qnil, 9756 Qt, Qnil, Qextended_command_history, Qnil,
9743 Qnil); 9757 Qnil);
9744 9758
9759#ifdef HAVE_X_WINDOWS
9760 if (hstarted) start_hourglass ();
9761#endif
9762
9745 if (STRINGP (function) && SCHARS (function) == 0) 9763 if (STRINGP (function) && SCHARS (function) == 0)
9746 error ("No command name given"); 9764 error ("No command name given");
9747 9765