(with-buffer-prepared-for-jit-lock): Swap the `let' and
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 14 Feb 2009 21:41:26 +0000 (21:41 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 14 Feb 2009 21:41:26 +0000 (21:41 +0000)
the `with-buffer-unmodified' to avoid useless `readlink' calls.

lisp/ChangeLog
lisp/jit-lock.el

index cf00805..7d7d253 100644 (file)
@@ -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'
index 384771e..786d2b1 100644 (file)
     "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))))
 
 
 \f