GNU bug report logs -
#17392
24.3.90; cursor blinks faster and faster
Previous Next
Reported by: michael_heerdegen <at> web.de
Date: Sat, 3 May 2014 01:45:02 UTC
Severity: normal
Found in version 24.3.90
Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Bug is archived. No further changes may be made.
Full log
Message #125 received at 17392 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> Actually, this is inaccurate: blink-cursor-timer-function, which runs
> off a regular (non-idle) timer, sometimes calls blink-cursor-suspend,
> which cancels the blink-cursor-idle-timer.
>
> But this looks perfectly normal, and indeed if Michael's advice runs
> when the idle timer expired, it might find that the idle timer that
> runs was already deleted from timer-idle-list, because we invoke the
> timers from a copy of the list. If this is what happens, then what
> Michael's code reveals is an artifact of a perfectly normal and
> expected operation.
Could something the following happen?
1. blink-cursor-idle-timer is bound to the only idle blink timer,
everything is fine.
2. timer-idle-list is `copy-sequenc'ed.
3. The idle timer is canceled. `blink-cursor-idle-timer' is now bound
to nil.
4. The old timer from 2. is called with timer-event-handler.
Note that as a side effect, the timer is pushed back to timer-idle-list,
but `blink-cursor-idle-timer' is still bound to nil.
5. `blink-cursor-check' is run. It sees that `blink-cursor-idle-timer'
is nil and starts another idle timer.
Michael.
This bug report was last modified 11 years and 61 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.