1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-31 11:13:50 +00:00

Fix display of cursor when 'blink-cursor-delay' has small value

* lisp/frame.el (blink-cursor-check, blink-cursor-mode):
Protect ourselves against too small values of blink-cursor-delay.
This avoids erratic display of the cursor, or even failure to
display it, when user types text at high speed or leans on a key
to invoke the keyboard auto-repeat feature.  (Bug#24372)
This commit is contained in:
Eli Zaretskii 2016-09-23 17:25:55 +03:00
parent 7cb120ebf3
commit f2819241bc

View File

@ -2115,7 +2115,11 @@ This is done when a frame gets focus. Blink timers may be stopped by
(not blink-cursor-idle-timer))
(remove-hook 'post-command-hook 'blink-cursor-check)
(setq blink-cursor-idle-timer
(run-with-idle-timer blink-cursor-delay
;; The 0.2 sec limitation from below is to avoid erratic
;; behavior (or downright failure to display the cursor
;; during command execution) if they set blink-cursor-delay
;; to a very small or even zero value.
(run-with-idle-timer (max 0.2 blink-cursor-delay)
blink-cursor-delay
'blink-cursor-start))))
@ -2149,7 +2153,11 @@ terminals, cursor blinking is controlled by the terminal."
(add-hook 'focus-in-hook #'blink-cursor-check)
(add-hook 'focus-out-hook #'blink-cursor-suspend)
(setq blink-cursor-idle-timer
(run-with-idle-timer blink-cursor-delay
;; The 0.2 sec limitation from below is to avoid erratic
;; behavior (or downright failure to display the cursor
;; during command execution) if they set blink-cursor-delay
;; to a very small or even zero value.
(run-with-idle-timer (max 0.2 blink-cursor-delay)
blink-cursor-delay
#'blink-cursor-start))))