[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16804: 24.3.50; [PATCH] fix with-silent-modifications
From: |
Leo Liu |
Subject: |
bug#16804: 24.3.50; [PATCH] fix with-silent-modifications |
Date: |
Wed, 19 Feb 2014 08:34:15 +0800 |
I was confused by why an eldoc-documentation-function always gets a nil
buffer-file-name in a js file in js2-mode. It turns out js2 wraps its
parsing routine in with-silent-modifications, thus all timers triggered
while parsing gets the nil value for buffer-file-name.
Any comments on the following fix? Thanks.
=== modified file 'lisp/subr.el'
--- lisp/subr.el 2014-02-12 19:40:35 +0000
+++ lisp/subr.el 2014-02-19 00:18:31 +0000
@@ -3172,21 +3172,24 @@
Typically used around modifications of text-properties which do
not really affect the buffer's content."
(declare (debug t) (indent 0))
- (let ((modified (make-symbol "modified")))
+ (let ((modified (make-symbol "modified"))
+ (mtime (make-symbol "mtime")))
`(let* ((,modified (buffer-modified-p))
(buffer-undo-list t)
(inhibit-read-only t)
(inhibit-modification-hooks t)
deactivate-mark
- ;; Avoid setting and removing file locks and checking
- ;; buffer's uptodate-ness w.r.t the underlying file.
- buffer-file-name
- buffer-file-truename)
+ ;; Avoid checking buffer's uptodate-ness w.r.t the
+ ;; underlying file.
+ (,mtime (visited-file-modtime))
+ ;; Avoid setting and removing file locks
+ (create-lockfiles nil))
(unwind-protect
- (progn
- ,@body)
+ (progn ,@body)
(unless ,modified
- (restore-buffer-modified-p nil))))))
+ (restore-buffer-modified-p nil))
+ (when (consp ,mtime)
+ (set-visited-file-modtime ,mtime))))))
(defmacro with-output-to-string (&rest body)
"Execute BODY, return the text it sent to `standard-output', as a string."
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications,
Leo Liu <=
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Stefan Monnier, 2014/02/18
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Leo Liu, 2014/02/19
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Stefan Monnier, 2014/02/19
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Leo Liu, 2014/02/19
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Stefan Monnier, 2014/02/19
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Leo Liu, 2014/02/19
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Stefan Monnier, 2014/02/19
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Leo Liu, 2014/02/20
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Stefan Monnier, 2014/02/20
- bug#16804: 24.3.50; [PATCH] fix with-silent-modifications, Leo Liu, 2014/02/20