[Top][All Lists]
[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;