Subject: bug#17392: 24.3.90; cursor blinks faster and faster

From: Stefan Monnier <[email-masked]>
Date: Tue, 06 May 2014 22:02:25 -0400

> It was easy.  Evaluating this in emacs -Q is already enough:

> --8<---------------cut here---------------start------------->8---
> (progn
>   (defun provoke (&rest _)
>     (run-with-idle-timer .001 nil
>                          (lambda () (sit-for 2.))))
>   (advice-add 'handle-switch-frame :after #'provoke))
> --8<---------------cut here---------------end--------------->8---

> Just create some more frames and type M-TAB (in your window manger) lots
> of times.  After that, timer-idle-list is full of blink-cursor-start
> timers.

Hmm... I can't reproduce it.
I run the above code in emacs-24's "emacs -Q" and then switch between
frames (by moving my mouse since I don't have a M-TAB binding but I use
focus-follows-mouse).  `provoke' is run alright (checked with
trace-function), but (length timer-idle-list) stays constant (value 2,
one for blink-cursor and the other for jit-lock).

        Stefan