summaryrefslogtreecommitdiff
path: root/lisp/saveplace.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2021-11-11 05:04:31 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2021-11-11 05:04:31 +0100
commit42037d8948f0209a88c64949adf5016229e4beec (patch)
tree909d41399ecd71cd626fb2de9f67059ed2dd639f /lisp/saveplace.el
parent9b80fe55f9725a039a2f367ffccea164c6ca9cf9 (diff)
downloademacs-42037d8948f0209a88c64949adf5016229e4beec.tar.gz
Don't save places in literally-visited files
* lisp/saveplace.el (save-places-to-alist): Don't save places in literally-visited files (bug#51740).
Diffstat (limited to 'lisp/saveplace.el')
-rw-r--r--lisp/saveplace.el17
1 files changed, 12 insertions, 5 deletions
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index 4191a3fa62e..3eff816fa07 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -328,11 +328,18 @@ may have changed) back to `save-place-alist'."
(with-current-buffer (car buf-list)
;; save-place checks buffer-file-name too, but we can avoid
;; overhead of function call by checking here too.
- (and (or buffer-file-name (and (derived-mode-p 'dired-mode)
- (boundp 'dired-subdir-alist)
- dired-subdir-alist
- (dired-current-directory)))
- (save-place-to-alist))
+ (when (and (or buffer-file-name
+ (and (derived-mode-p 'dired-mode)
+ (boundp 'dired-subdir-alist)
+ dired-subdir-alist
+ (dired-current-directory)))
+ ;; Don't save place in literally-visited file
+ ;; because this will commonly differ from the place
+ ;; when visiting literally (and
+ ;; `find-file-literally' always places point at the
+ ;; start of the buffer).
+ (not find-file-literally))
+ (save-place-to-alist))
(setq buf-list (cdr buf-list))))))
(defun save-place-find-file-hook ()