summaryrefslogtreecommitdiff
path: root/lisp/files.el
diff options
context:
space:
mode:
authorPhilipp Stephani <phst@google.com>2017-04-22 00:12:23 +0200
committerPhilipp <phst@google.com>2017-05-06 21:26:04 +0200
commit5e47c2e52b9b7616668c5586084e0128b231272a (patch)
treec4d3659f9877abc23732d140169e48c8fcc05d0f /lisp/files.el
parent26c71bfe8cb37332b4806ca7f43d59fd1a616c3b (diff)
downloademacs-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.el8
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)))))