changeset 73135:365ddb09e339

(jit-lock-fontify-now): Don't fontify the empty text. (jit-lock-fontify-again): Don't refontify text that's not displayed.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 26 Sep 2006 15:35:34 +0000
parents b7b3deb46c6a
children db20c4c0a56f
files lisp/ChangeLog lisp/jit-lock.el
diffstat 2 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Tue Sep 26 08:49:05 2006 +0000
+++ b/lisp/ChangeLog	Tue Sep 26 15:35:34 2006 +0000
@@ -1,3 +1,8 @@
+2006-09-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* jit-lock.el (jit-lock-fontify-now): Don't fontify the empty text.
+	(jit-lock-fontify-again): Don't refontify text that's not displayed.
+
 2006-09-26  Kenichi Handa  <handa@m17n.org>
 
 	* startup.el (display-splash-screen): Allow a prefix argument.
--- a/lisp/jit-lock.el	Tue Sep 26 08:49:05 2006 +0000
+++ b/lisp/jit-lock.el	Tue Sep 26 15:35:34 2006 +0000
@@ -349,7 +349,7 @@
 	 ;; Fontify chunks beginning at START.  The end of a
 	 ;; chunk is either `end', or the start of a region
 	 ;; before `end' that has already been fontified.
-	 (while start
+	 (while (and start (< start end))
 	   ;; Determine the end of this chunk.
 	   (setq next (or (text-property-any start end 'fontified t)
 			  end))
@@ -405,9 +405,11 @@
 
 (defun jit-lock-fontify-again (buf start end)
   "Fontify in buffer BUF from START to END."
-  (with-current-buffer buf
-    (with-buffer-prepared-for-jit-lock
-     (put-text-property start end 'fontified t))))
+  ;; Don't bother refontifying text that's not even displayed.
+  (when (setq start (text-property-not-all start end 'fontified nil buf))
+    (with-current-buffer buf
+      (with-buffer-prepared-for-jit-lock
+       (put-text-property start end 'fontified nil)))))