[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 8f63f00: Revert window/winner changes (Revert 0454bfd3313)
From: |
Lars Ingebrigtsen |
Subject: |
master 8f63f00: Revert window/winner changes (Revert 0454bfd3313) |
Date: |
Sun, 25 Apr 2021 13:47:19 -0400 (EDT) |
branch: master
commit 8f63f0078a23421eada97b4da51b9308b82532ce
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Revert window/winner changes (Revert 0454bfd3313)
See bug#23621 for an explanation.
---
lisp/window.el | 39 ---------------------------------------
lisp/winner.el | 13 ++-----------
2 files changed, 2 insertions(+), 50 deletions(-)
diff --git a/lisp/window.el b/lisp/window.el
index 06d3e43..036eb27 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -3755,8 +3755,6 @@ WINDOW must be a valid window and defaults to the
selected one.
If the option `window-resize-pixelwise' is non-nil minimize
WINDOW pixelwise."
(interactive)
- (when switch-to-buffer-preserve-window-point
- (window--before-delete-windows window))
(setq window (window-normalize-window window))
(window-resize
window
@@ -4142,41 +4140,6 @@ frame can be safely deleted."
(throw 'done t)
(setq parent (window-parent parent))))))))
-;; This function is called by `delete-window' and
-;; `delete-other-windows' when `switch-to-buffer-preserve-window-point'
-;; evaluates non-nil: it allows `winner-undo' to restore the
-;; buffer point from deleted windows (Bug#23621).
-(defun window--before-delete-windows (&optional window)
- "Update `window-prev-buffers' before delete a window.
-Optional arg WINDOW, if non-nil, update WINDOW-START and POS
-in `window-prev-buffers' for all windows displaying same
-buffer as WINDOW. Otherwise, update `window-prev-buffers' for
-all windows.
-
-The new values for WINDOW-START and POS are those
-returned by `window-start' and `window-point' respectively.
-
-This function is called only if `switch-to-buffer-preserve-window-point'
-evaluates non-nil."
- (dolist (win (window-list nil 'no-minibuf))
- (let* ((buf (window-buffer (or window win)))
- (start (window-start win))
- (pos (window-point win))
- (entry (assq buf (window-prev-buffers win))))
- (cond (entry
- (let ((marker (nth 2 entry)))
- (unless (= pos marker)
- (set-marker (nth 1 entry) start buf)
- (set-marker marker pos buf))))
- (t
- (let ((prev-buf (window-prev-buffers win))
- (start-m (make-marker))
- (pos-m (make-marker)))
- (set-marker start-m start buf)
- (set-marker pos-m pos buf)
- (push (list buf start-m pos-m) prev-buf)
- (set-window-prev-buffers win prev-buf)))))))
-
(defun delete-window (&optional window)
"Delete WINDOW.
WINDOW must be a valid window and defaults to the selected one.
@@ -4195,8 +4158,6 @@ argument. Signal an error if WINDOW is either the only
window on
its frame, the last non-side window, or part of an atomic window
that is its frame's root window."
(interactive)
- (when switch-to-buffer-preserve-window-point
- (window--before-delete-windows))
(setq window (window-normalize-window window))
(let* ((frame (window-frame window))
(function (window-parameter window 'delete-window))
diff --git a/lisp/winner.el b/lisp/winner.el
index f30fa6c..8062fba 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -283,17 +283,8 @@ You may want to include buffer names such as *Help*,
*Apropos*,
;; Restore points
(dolist (win (winner-sorted-window-list))
(unless (and (pop alive)
- (let* ((buf (window-buffer win))
- (pos (winner-get-point (window-buffer win) win))
- (entry (assq buf (window-prev-buffers win))))
- ;; Try to restore point of buffer in the selected
- ;; window (Bug#23621).
- (let ((marker (nth 2 entry)))
- (when (and switch-to-buffer-preserve-window-point
- marker
- (not (= marker pos)))
- (setq pos marker))
- (setf (window-point win) pos)))
+ (setf (window-point win)
+ (winner-get-point (window-buffer win) win))
(not (or (member (buffer-name (window-buffer win))
winner-boring-buffers)
(and winner-boring-buffers-regexp
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 8f63f00: Revert window/winner changes (Revert 0454bfd3313),
Lars Ingebrigtsen <=