summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoão Távora <joaotavora@gmail.com>2019-07-31 22:07:41 +0100
committerJoão Távora <joaotavora@gmail.com>2019-07-31 22:07:41 +0100
commit2715e4c16e9d8135d57a719f3293cad3e198ff40 (patch)
tree1c9e2cf7efd81e06cf6c1bf6f9836c03d2fd3b45
parentbd13cae1985d19cf51d9de69e717dc523668f6a6 (diff)
downloademacs-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.el30
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)