From c18607470a2be92f7ff828121f3284ef116b756d Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 26 Sep 2006 15:35:34 +0000 Subject: [PATCH] (jit-lock-fontify-now): Don't fontify the empty text. (jit-lock-fontify-again): Don't refontify text that's not displayed. --- lisp/ChangeLog | 5 +++++ lisp/jit-lock.el | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8388c7af0ba..d7c78cae799 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-09-26 Stefan Monnier + + * 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 * startup.el (display-splash-screen): Allow a prefix argument. diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el index 4cbc7da4511..612641d0954 100644 --- a/lisp/jit-lock.el +++ b/lisp/jit-lock.el @@ -349,7 +349,7 @@ Defaults to the whole buffer. END can be out of bounds." ;; 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 @@ Defaults to the whole buffer. END can be out of bounds." (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))))) -- 2.39.2