changeset 102043:e30b05317b87

(with-buffer-prepared-for-jit-lock): Swap the `let' and the `with-buffer-unmodified' to avoid useless `readlink' calls.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 14 Feb 2009 21:41:26 +0000
parents f0864f8938a3
children 8cc6c7d847fe
files lisp/ChangeLog lisp/jit-lock.el
diffstat 2 files changed, 18 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Feb 14 17:28:27 2009 +0000
+++ b/lisp/ChangeLog	Sat Feb 14 21:41:26 2009 +0000
@@ -1,3 +1,8 @@
+2009-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* jit-lock.el (with-buffer-prepared-for-jit-lock): Swap the `let' and
+	the `with-buffer-unmodified' to avoid useless `readlink' calls.
+
 2009-02-14  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
 
 	* textmodes/bibtex.el (bibtex-global-key-alist)
@@ -18,8 +23,8 @@
 	around forms that refer to translation-table-for-input.
 
 	* international/quail.el (quail-input-string-to-events)
-	(quail-store-decode-map-key, quail-char-equal-p): Use
-	`with-no-warnings' around forms that refer to
+	(quail-store-decode-map-key, quail-char-equal-p):
+	Use `with-no-warnings' around forms that refer to
 	translation-table-for-input.
 
 	* simple.el (quoted-insert, zap-to-char): Use `with-no-warnings'
--- a/lisp/jit-lock.el	Sat Feb 14 17:28:27 2009 +0000
+++ b/lisp/jit-lock.el	Sat Feb 14 21:41:26 2009 +0000
@@ -45,15 +45,17 @@
     "Execute BODY in current buffer, overriding several variables.
 Preserves the `buffer-modified-p' state of the current buffer."
     (declare (debug t))
-    `(with-buffer-unmodified
-      (let ((buffer-undo-list t)
-	    (inhibit-read-only t)
-	    (inhibit-point-motion-hooks t)
-	    (inhibit-modification-hooks t)
-	    deactivate-mark
-	    buffer-file-name
-	    buffer-file-truename)
-	,@body))))
+    `(let ((buffer-undo-list t)
+           (inhibit-read-only t)
+           (inhibit-point-motion-hooks t)
+           (inhibit-modification-hooks t)
+           deactivate-mark
+           buffer-file-name
+           buffer-file-truename)
+       ;; Do reset the modification status from within the let, since
+       ;; otherwise set-buffer-modified-p may try to unlock the file.
+       (with-buffer-unmodified
+           ,@body))))