diff options
author | João Távora <joaotavora@gmail.com> | 2019-07-31 22:07:41 +0100 |
---|---|---|
committer | João Távora <joaotavora@gmail.com> | 2019-07-31 22:07:41 +0100 |
commit | 2715e4c16e9d8135d57a719f3293cad3e198ff40 (patch) | |
tree | 1c9e2cf7efd81e06cf6c1bf6f9836c03d2fd3b45 | |
parent | bd13cae1985d19cf51d9de69e717dc523668f6a6 (diff) | |
download | emacs-scratch/jit-lock-antiblink.tar.gz |
Rework jit-lock-antiblink-grace after Stefan's commentsscratch/jit-lock-antiblink
* lisp/jit-lock.el (jit-lock--antiblink-l-b-p): Rename from
jit-lock--antiblink-l-l-b.
(jit-lock--antiblink-grace-timer): Add period to docstring.
(jit-lock--antiblink-post-command): Rework after Stefan's
comments.
-rw-r--r-- | lisp/jit-lock.el | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el index 7ae79f057b7..e37a1812c9d 100644 --- a/lisp/jit-lock.el +++ b/lisp/jit-lock.el @@ -168,9 +168,9 @@ If nil, contextual fontification is disabled.") "List of buffers that are being fontified stealthily.") (defvar jit-lock--antiblink-grace-timer nil - "Idle timer for fontifying unterminated string or comment, or nil") -(defvar jit-lock--antiblink-l-l-b (make-marker) - "Last line beginning (l-l-b) position after last command (a marker).") + "Idle timer for fontifying unterminated string or comment, or nil.") +(defvar jit-lock--antiblink-l-b-p (make-marker) + "Last line beginning position (l-b-p) after last command (a marker).") (defvar jit-lock--antiblink-i-s-o-c nil "In string or comment (i-s-o-c) after last command (a boolean).") @@ -691,22 +691,22 @@ will take place when text is fontified stealthily." (min jit-lock-context-unfontify-pos jit-lock-start)))))) (defun jit-lock--antiblink-post-command () - (let* ((new-l-l-b (set-marker (make-marker) (line-beginning-position))) - (new-i-s-o-c - (nth 8 (save-excursion (syntax-ppss (line-end-position))))) + (let* ((new-l-b-p (copy-marker (line-beginning-position))) + (l-b-p-2 (line-beginning-position 2)) (same-line (and jit-lock-antiblink-grace - (eq (marker-buffer jit-lock--antiblink-l-l-b) (current-buffer)) - (= new-l-l-b jit-lock--antiblink-l-l-b)))) + (not (= new-l-b-p l-b-p-2)) + (eq (marker-buffer jit-lock--antiblink-l-b-p) (current-buffer)) + (= new-l-b-p jit-lock--antiblink-l-b-p))) + (new-i-s-o-c + (and same-line + (nth 8 (save-excursion (syntax-ppss l-b-p-2)))))) (cond (;; opened a new multiline string... (and same-line - (null jit-lock--antiblink-i-s-o-c) new-i-s-o-c) ;; assert that the grace timer is null and schedule it (when jit-lock--antiblink-grace-timer - (display-warning - 'font-lock :level - "`jit-lock--antiblink-grace-timer' not null" :warning)) + (message "internal warning: `jit-lock--antiblink-grace-timer' not null")) (setq jit-lock--antiblink-grace-timer (run-with-idle-timer jit-lock-antiblink-grace nil (lambda () @@ -721,9 +721,7 @@ will take place when text is fontified stealthily." ;; `jit-lock-context-timer' as usual. (when jit-lock--antiblink-grace-timer (cancel-timer jit-lock--antiblink-grace-timer) - (setq jit-lock--antiblink-grace-timer nil)) - - ) + (setq jit-lock--antiblink-grace-timer nil))) (same-line ;; in same line, but no state change, leave everything as it was ) @@ -739,7 +737,7 @@ will take place when text is fontified stealthily." (cancel-timer jit-lock--antiblink-grace-timer) (setq jit-lock--antiblink-grace-timer nil)))) ;; update variables - (setq jit-lock--antiblink-l-l-b new-l-l-b + (setq jit-lock--antiblink-l-b-p new-l-b-p jit-lock--antiblink-i-s-o-c new-i-s-o-c))) (provide 'jit-lock) |