Eli Zaretskii <eliz@gnu.org> schrieb am Sa., 10. Sep. 2016 um 09:21 Uhr:
> From: Philipp Stephani <p.stephani2@gmail.com>
> Date: Fri, 09 Sep 2016 17:18:12 +0000
> Cc: 24372@debbugs.gnu.org
>
>  A simpler recipe that doesn't need explicit focus events is
>
>  emacs -Q -eval '(progn (setq blink-cursor-delay 0.0) (blink-cursor-suspend) (blink-cursor-check))'
>
>  and then start moving point.
>
> OK, I guess one issue is that setting blink-cursor-delay doesn't restart blink-cursor-idle-timer. (Similarly,
> changing blink-cursor-interval doesn't restart blink-cursor-timer.) While obviously we can't fix that when using
> setq, I'd suggest adding custom setters to the variables nevertheless.

I've attached a patch for this. It shouldn't be controversial because it only reduces the possibility for surprises, but doesn't change any behavior.
 
>
> The direct cause of the issue seems to be that, when blink-cursor-delay is idle, after every command
> blink-cursor-start is called immediately, which hides the cursor.

Thanks.  Does the patch below fix the issue, without introducing any
adverse side effects?


It does introduce the adverse side effect that now the first blink takes one second (the sum of cursor-blink-delay and cursor-blink-interval). I've attached another patch with the change I have in mind.