+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.
(eval-when-compile
+ (require 'cl)
+
(defmacro with-buffer-unmodified (&rest body)
"Eval BODY, preserving the current buffer's modified state."
(declare (debug t))
;; 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))))))))