emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mouse cursor and iso-accents-mode


From: Jan D.
Subject: Re: mouse cursor and iso-accents-mode
Date: Sun, 23 Feb 2003 22:52:19 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030210

Jan D. wrote:

I see unwanted hourglass in RC in other situations as well, for example opening a file, modify it but don't save, open the file with emacsclient and when Emacs asks, "Revert buffer from file ...", then say yes. After that the hourglass appears, and has to be removed by C-g. I have a fix for that, but I am not sure this is RC material (although at work, we have this program that uses Eamcs and emacsclient so I see this bug *alot* :-), I need some opinion on that. I am checking the fix into the trunk.


Forgot the patch, here it is.

        Jan D.

Index: keyboard.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/keyboard.c,v
retrieving revision 1.626.4.4
diff -c -r1.626.4.4 keyboard.c
*** keyboard.c  29 Sep 2002 17:50:27 -0000      1.626.4.4
--- keyboard.c  23 Feb 2003 21:51:33 -0000
***************
*** 1309,1314 ****
--- 1309,1323 ----
  void safe_run_hooks P_ ((Lisp_Object));
  static void adjust_point_for_property P_ ((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 ()
  {
***************
*** 1632,1652 ****
            }
  
          /* Here for a command that isn't executed directly */
! 
  #ifdef HAVE_X_WINDOWS
!         if (display_hourglass_p)
!           start_hourglass ();
  #endif
  
!         nonundocount = 0;
!         if (NILP (current_kboard->Vprefix_arg))
!           Fundo_boundary ();
!         Fcommand_execute (Vthis_command, Qnil, Qnil, Qnil);
  
  #ifdef HAVE_X_WINDOWS
!         if (display_hourglass_p)
!           cancel_hourglass ();
  #endif
        }
      directly_done: ;
        current_kboard->Vlast_prefix_arg = Vcurrent_prefix_arg;
--- 1641,1668 ----
            }
  
          /* Here for a command that isn't executed directly */
!           
!           {
  #ifdef HAVE_X_WINDOWS
!             int scount = specpdl_ptr - specpdl;
! 
!             if (display_hourglass_p)
!               {
!                 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
!             if (display_hourglass_p)
!               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]