]> code.delx.au - gnu-emacs/commitdiff
(jit-lock-deferred-fontify): Pay attention to skipped redisplays
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 12 Sep 2015 00:32:33 +0000 (20:32 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 12 Sep 2015 00:32:33 +0000 (20:32 -0400)
* lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
the buffers, even if the forced redisplay is interrupted.

lisp/jit-lock.el

index 5f9196da645d97058880fcc01c76541dccbeabb4..8c798d5c4d0d21b1abb05fa12d82a934583a0864 100644 (file)
@@ -583,11 +583,13 @@ non-nil in a repeated invocation of this function."
                      'fontified nil))
                   (setq pos (next-single-property-change
                               pos 'fontified)))))))))
-    (setq jit-lock-defer-buffers nil)
     ;; Force fontification of the visible parts.
-    (let ((jit-lock-defer-timer nil))
+    (let ((buffers jit-lock-defer-buffers)
+          (jit-lock-defer-timer nil))
+      (setq jit-lock-defer-buffers nil)
       ;; (message "Jit-Defer Now")
-      (sit-for 0)
+      (unless (redisplay)                       ;FIXME: Should we `force'?
+        (setq jit-lock-defer-buffers buffers))
       ;; (message "Jit-Defer Done")
       )))