diff options
author | Philipp Stephani <phst@google.com> | 2017-04-22 00:12:23 +0200 |
---|---|---|
committer | Philipp <phst@google.com> | 2017-05-06 21:26:04 +0200 |
commit | 5e47c2e52b9b7616668c5586084e0128b231272a (patch) | |
tree | c4d3659f9877abc23732d140169e48c8fcc05d0f /lisp/files.el | |
parent | 26c71bfe8cb37332b4806ca7f43d59fd1a616c3b (diff) | |
download | emacs-5e47c2e52b9b7616668c5586084e0128b231272a.tar.gz emacs-5e47c2e52b9b7616668c5586084e0128b231272a.tar.bz2 emacs-5e47c2e52b9b7616668c5586084e0128b231272a.zip |
Fix quoted files for 'verify-visited-file-modtime'
Fixes Bug#25951.
* lisp/files.el (file-name-non-special): Set the file name for the
correct buffer.
* test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
Add unit test.
(files-tests--with-advice, files-tests--with-temp-file): New helper
macros.
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/files.el b/lisp/files.el index d193749bb88..7e627d36d49 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -29,6 +29,7 @@ ;;; Code: (eval-when-compile + (require 'cl-lib) (require 'pcase) (require 'easy-mmode)) ; For `define-minor-mode'. @@ -7031,7 +7032,12 @@ only these files will be asked to be saved." (when (and visit buffer-file-name) (setq buffer-file-name (concat "/:" buffer-file-name)))))) (`unquote-then-quote - (let ((buffer-file-name (substring buffer-file-name 2))) + (cl-letf* ((buffer (or (car arguments) (current-buffer))) + ((buffer-local-value 'buffer-file-name buffer) + (substring (buffer-file-name buffer) 2))) + ;; `unquote-then-quote' is only used for the + ;; `verify-visited-file-modtime' action, which takes a buffer + ;; as only optional argument. (apply operation arguments))) (_ (apply operation arguments))))) |