emacs-diffs
[Top][All Lists]
Advanced

[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");
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]