emacs-devel
[Top][All Lists]
Advanced

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

Re: blink-cursor-end sometimes fails and disrupts pre-command-hook


From: Chong Yidong
Subject: Re: blink-cursor-end sometimes fails and disrupts pre-command-hook
Date: Sat, 19 Aug 2006 11:07:52 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

"Ken Manheimer" <address@hidden> writes:

> i've been having a hell of a time tracking down a
> user-configuration-sensitive blink-cursor error, and can't even report
> a case to reproduce it.
>
> after my first keystroke in an emacs session, i find the error message
> in the *Messages* buffer:
>
> Error in pre-command-hook: (error Invalid timer)
>
> after a bunch of searching, i determined the problem was happening in
> blink-cursor-end running off of the pre-command-hook.

If blink-cursor-end is being run, that means that blink-cursor-start
has been called.  If blink-cursor-start completed, blink-cursor-timer
should be non-nil.  There isn't a lot of possibilities for
blink-cursor-timer to be nil inside blink-cursor-end.

One possibility is a rogue interrupt handler:

  * blink-cursor-end is interrupted before it can cancel
    blink-cursor-timer; or blink-cursor-start is interrupted before it
    can set blink-cursor-timer
  * Something inside the interrupt handler runs pre-command-hook, so
    blink-cursor-end runs, and blink-cursor-timer is set to nil.
  * Execution resumes.  blink-cursor-timer is now nil.

However, I don't know any way an interrupt handler could end up
running a pre-command-hook.

So this is very strange.




reply via email to

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