summaryrefslogtreecommitdiff
path: root/lisp/files.el
diff options
context:
space:
mode:
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)))))