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

From: Nicolas Richard <[email-masked]>
Date: Wed, 07 May 2014 15:57:11 +0200

Stefan Monnier <[email-masked]> writes:

>> 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).

FWIW I was able to reproduce on emacs-24 branch (from Apr 25).

I ran

(progn
  (defun provoke (&rest _)
    (run-with-idle-timer .001 nil (lambda () (read-event nil t 2.0)))
    (message "%s len, timer-idle-list: %s, %S" (format-time-string "%S.%3N") (length timer-idle-list) timer-idle-list))
  (advice-add 'handle-switch-frame :after #'provoke))

and then after hitting M-tab at various speeds I got :

35.283 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
36.531 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
38.148 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
39.892 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
44.442 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
48.168 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
48.800 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
49.483 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
50.315 len, timer-idle-list: 3, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
51.079 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
51.829 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
52.050 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
52.436 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
53.472 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
53.816 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
53.950 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
54.039 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
54.232 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
54.605 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
55.095 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
55.468 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
55.944 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
56.383 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
56.785 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
57.095 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
57.795 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
58.091 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
58.548 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
58.871 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
59.248 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
59.966 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
00.418 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
00.861 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
01.318 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
01.807 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
02.448 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
02.930 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
03.452 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
03.908 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
04.176 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
04.580 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
05.282 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
05.641 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
06.246 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
06.610 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
07.168 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
07.668 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0])
08.783 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
09.548 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
09.989 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
10.526 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
10.967 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
11.398 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
11.872 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
12.324 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
12.805 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
13.290 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
13.744 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
14.412 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
16.946 len, timer-idle-list: 4, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [t 0 0 500000 0.5 blink-cursor-start nil idle 0] [t 0 0 500000 t jit-lock-context-fontify nil idle 0])
20.644 len, timer-idle-list: 5, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
24.428 len, timer-idle-list: 6, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
27.021 len, timer-idle-list: 6, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
27.678 len, timer-idle-list: 6, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
28.163 len, timer-idle-list: 6, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
28.686 len, timer-idle-list: 6, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
29.075 len, timer-idle-list: 6, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
29.731 len, timer-idle-list: 6, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
30.108 len, timer-idle-list: 6, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
32.194 len, timer-idle-list: 7, ([nil 0 0 1000 nil (lambda nil (read-event nil t 2.0)) nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 t jit-lock-context-fontify nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0] [nil 0 0 500000 0.5 blink-cursor-start nil idle 0])
Mark set [2 times]

Speed doesn't seem to be the only factor.

-- 
Nico.