]> git.eshelyaron.com Git - emacs.git/commitdiff
Rework jit-lock-antiblink-grace after Stefan's comments scratch/jit-lock-antiblink
authorJoão Távora <joaotavora@gmail.com>
Wed, 31 Jul 2019 21:07:41 +0000 (22:07 +0100)
committerJoão Távora <joaotavora@gmail.com>
Wed, 31 Jul 2019 21:07:41 +0000 (22:07 +0100)
* 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.

lisp/jit-lock.el

index 7ae79f057b795959d6e4c0b9df1ed45fce543036..e37a1812c9d8cdf77a2e9d00fdbf66b62994daad 100644 (file)
@@ -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)