Mercurial > emacs
changeset 72248:a1a0b1eed3a8
(jit-lock-fontify-now): Preserve the buffer's
modification status when forcing the second redisplay.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 03 Aug 2006 03:35:45 +0000 |
parents | 2d16125405b4 |
children | 268989954f79 |
files | lisp/ChangeLog lisp/jit-lock.el |
diffstat | 2 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Aug 02 22:51:44 2006 +0000 +++ b/lisp/ChangeLog Thu Aug 03 03:35:45 2006 +0000 @@ -1,3 +1,8 @@ +2006-08-02 Stefan Monnier <monnier@iro.umontreal.ca> + + * jit-lock.el (jit-lock-fontify-now): Preserve the buffer's + modification status when forcing the second redisplay. + 2006-08-03 Kim F. Storm <storm@cua.dk> * edmacro.el (edmacro-fix-menu-commands): Ignore switch-frame.
--- a/lisp/jit-lock.el Wed Aug 02 22:51:44 2006 +0000 +++ b/lisp/jit-lock.el Thu Aug 03 03:35:45 2006 +0000 @@ -31,6 +31,8 @@ (eval-when-compile + (require 'cl) + (defmacro with-buffer-unmodified (&rest body) "Eval BODY, preserving the current buffer's modified state." (declare (debug t)) @@ -384,10 +386,14 @@ ;; eagerly extend the refontified region with ;; jit-lock-after-change-extend-region-functions. (when (< start orig-start) - (run-with-timer - 0 nil `(lambda () - (put-text-property ',start ',orig-start - 'fontified t ',(current-buffer))))) + (lexical-let ((start start) + (orig-start orig-start) + (buf (current-buffer))) + (run-with-timer + 0 nil (lambda () + (with-buffer-prepared-for-jit-lock + (put-text-property start orig-start + 'fontified t buf)))))) ;; Find the start of the next chunk, if any. (setq start (text-property-any next end 'fontified nil))))))))