]> code.delx.au - gnu-emacs/commitdiff
* lisp/jit-lock.el (jit-lock-function): Don't defer if jit-lock-defer-time
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 16 Dec 2014 14:25:57 +0000 (09:25 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 16 Dec 2014 14:25:57 +0000 (09:25 -0500)
is 0 and there is no input pending.

lisp/ChangeLog
lisp/jit-lock.el

index 4f8631d5a7e66c05ed707e67c675af2615fa8cca..e7a44e8e59c6cb9bc37c7941d3e090732cc0b943 100644 (file)
@@ -1,3 +1,8 @@
+2014-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * jit-lock.el (jit-lock-function): Don't defer if jit-lock-defer-time
+       is 0 and there is no input pending.
+
 2014-12-15  Juri Linkov  <juri@linkov.net>
 
        * replace.el (query-replace-read-from): Use query-replace-compile-replacement
index 34f14a5af63cafe9283441fe4a9b0a20096ad3ac..74bfa3ab078153a3a527165726bf90edf9a40ba1 100644 (file)
@@ -125,7 +125,8 @@ The value of this variable is used when JIT Lock mode is turned on."
 
 (defcustom jit-lock-defer-time nil ;; 0.25
   "Idle time after which deferred fontification should take place.
-If nil, fontification is not deferred."
+If nil, fontification is not deferred.
+If 0, then fontification is only deferred while there is input pending."
   :group 'jit-lock
   :type '(choice (const :tag "never" nil)
                 (number :tag "seconds")))
@@ -333,7 +334,9 @@ Only applies to the current buffer."
 This function is added to `fontification-functions' when `jit-lock-mode'
 is active."
   (when (and jit-lock-mode (not memory-full))
-    (if (null jit-lock-defer-timer)
+    (if (not (and jit-lock-defer-timer
+                  (or (not (eq jit-lock-defer-time 0))
+                      (input-pending-p))))
        ;; No deferral.
        (jit-lock-fontify-now start (+ start jit-lock-chunk-size))
       ;; Record the buffer for later fontification.