summaryrefslogtreecommitdiff
path: root/lisp/window.el
diff options
context:
space:
mode:
authorZajcev Evgeny <zevlg@yandex.ru>2020-12-01 09:33:05 +0100
committerMartin Rudalics <rudalics@gmx.at>2020-12-01 09:33:05 +0100
commit8a27b0cad7dcffd0af9b3b38028ac12276a85c1b (patch)
tree1e68252d70956d9e76823b2c2ff1e89dbdb825a9 /lisp/window.el
parent4457b9590c83f0245604cf6a706383d9aa2c659c (diff)
downloademacs-8a27b0cad7dcffd0af9b3b38028ac12276a85c1b.tar.gz
Fix use of 'switch-to-buffer-preserve-window-point'
* lisp/window.el (switch-to-buffer): Respect buffer local value of 'switch-to-buffer-preserve-window-point' variable.
Diffstat (limited to 'lisp/window.el')
-rw-r--r--lisp/window.el10
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/window.el b/lisp/window.el
index 82976bf8364..daa5c67df8b 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -8566,13 +8566,13 @@ Return the buffer switched to."
(when set-window-start-and-point
(let* ((entry (assq buffer (window-prev-buffers)))
- (displayed (and (eq switch-to-buffer-preserve-window-point
- 'already-displayed)
+ (preserve-win-point
+ (buffer-local-value 'switch-to-buffer-preserve-window-point
+ buffer))
+ (displayed (and (eq preserve-win-point 'already-displayed)
(get-buffer-window buffer 0))))
(set-window-buffer nil buffer)
- (when (and entry
- (or (eq switch-to-buffer-preserve-window-point t)
- displayed))
+ (when (and entry (or (eq preserve-win-point t) displayed))
;; Try to restore start and point of buffer in the selected
;; window (Bug#4041).
(set-window-start (selected-window) (nth 1 entry) t)