Subject: Re: bug#20285: 25.0.50; blink-cursor-mode sometimes stops blinking

From: Eli Zaretskii <[email-masked]>
Date: Fri, 10 Apr 2015 10:58:32 +0300

> From: Tassilo Horn <[email-masked]>
> Cc: [email-masked]
> Date: Fri, 10 Apr 2015 09:46:46 +0200
> 
> ,----[ C-h v timer-idle-list RET ]
> | timer-idle-list is a variable defined in `C source code'.
> | Its value is shown below.
> | 
> | Documentation:
> | List of active idle-time timers in order of increasing time.
> | 
> | Value: ([t 0 0 125000 t show-paren-function nil idle 0]
> |  [t 0 0 500000 t jit-lock-context-fontify nil idle 0]
> |  [t 0 0 500000 t
> |     #[0 "\204	\205\n\303>?\205\304 \207"
> | 	[eldoc-mode global-eldoc-mode eldoc-documentation-function
> | 		    (nil ignore)
> | 		    eldoc-print-current-symbol-info]
> | 	2]
> |     nil idle 0]
> |  [t 0 0 500000 t highlight-symbol-temp-highlight nil idle 0]
> |  [t 0 0 500000 0.5 blink-cursor-start nil idle 0]
> |  [nil 0 1 199999 t reftex-view-crossref-when-idle nil idle 999999]
> |  [nil 0 2 0 t adict-guess-dictionary-maybe
> |       (#<buffer diss.tex>)
> |       idle 0])
> `----
> 
> Is it documented somewhere what the individual entries of these vectors
> mean?

You mean, the structure of a timer object?  You will see that clearly
near the beginning of timer.el.

> But anyway, I think even when there's some timer that takes too long,
> the cursor should never disappear completely.  So maybe a redisplay
> should be forced whenever the cursor is set to visible again and there
> has been a redisplay when the cursor has been invisible.

I don't quite understand your idea.  Please keep in mind that there
are 2 meanings to "cursor is [set to] visible": the internal Emacs
information about whether the cursor is on or off, and what's actually
on the glass.  The latter is only changed by redisplay.

With that in mind, can you explain in more detail what you meant?