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: Sun, 23 Feb 2003 17:11:20 -0500

Index: emacs/src/keyboard.c
diff -c emacs/src/keyboard.c:1.727 emacs/src/keyboard.c:1.728
*** emacs/src/keyboard.c:1.727  Mon Feb 17 02:51:08 2003
--- emacs/src/keyboard.c        Sun Feb 23 17:11:20 2003
***************
*** 1353,1358 ****
--- 1353,1367 ----
  void safe_run_hooks P_ ((Lisp_Object));
  static void adjust_point_for_property P_ ((int, int));
  
+ /* Cancel hourglass from protect_unwind.
+    ARG is not used.  */
+ static Lisp_Object
+ cancel_hourglass_unwind (arg)
+      Lisp_Object arg;
+ {
+   cancel_hourglass ();
+ }
+ 
  Lisp_Object
  command_loop_1 ()
  {
***************
*** 1724,1739 ****
  
          /* Here for a command that isn't executed directly */
  
  #ifdef HAVE_X_WINDOWS
!         if (display_hourglass_p
!             && NILP (Vexecuting_macro))
!           start_hourglass ();
  #endif
  
!         nonundocount = 0;
!         if (NILP (current_kboard->Vprefix_arg))
!           Fundo_boundary ();
!         Fcommand_execute (Vthis_command, Qnil, Qnil, Qnil);
  
  #ifdef HAVE_X_WINDOWS
          /* Do not check display_hourglass_p here, because
--- 1733,1754 ----
  
          /* Here for a command that isn't executed directly */
  
+           {
  #ifdef HAVE_X_WINDOWS
!             int scount = SPECPDL_INDEX ();
! 
!             if (display_hourglass_p
!                 && NILP (Vexecuting_macro))
!               {
!                 record_unwind_protect (cancel_hourglass_unwind, Qnil);
!                 start_hourglass ();
!               }
  #endif
  
!             nonundocount = 0;
!             if (NILP (current_kboard->Vprefix_arg))
!               Fundo_boundary ();
!             Fcommand_execute (Vthis_command, Qnil, Qnil, Qnil);
  
  #ifdef HAVE_X_WINDOWS
          /* Do not check display_hourglass_p here, because
***************
*** 1742,1749 ****
             But don't cancel the hourglass within a macro
             just because a command in the macro finishes.  */
          if (NILP (Vexecuting_macro))
!           cancel_hourglass ();
  #endif
        }
      directly_done: ;
        current_kboard->Vlast_prefix_arg = Vcurrent_prefix_arg;
--- 1757,1765 ----
             But don't cancel the hourglass within a macro
             just because a command in the macro finishes.  */
          if (NILP (Vexecuting_macro))
!             unbind_to (scount, Qnil);
  #endif
+           }
        }
      directly_done: ;
        current_kboard->Vlast_prefix_arg = Vcurrent_prefix_arg;




reply via email to

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