* lisp/window.el (window--state-put-2): Set next/prev-buffers even to nil.
When next-buffers or prev-buffers are nil, still use set-window-next-buffers or set-window-prev-buffers to set next/prev-buffers to nil. (Bug#46904)
This commit is contained in:
parent
f32ff81020
commit
0e8c862885
1 changed files with 21 additions and 23 deletions
|
@ -6133,29 +6133,27 @@ value can be also stored on disk and read back in a new session."
|
|||
;; Select window if it's the selected one.
|
||||
(when (cdr (assq 'selected state))
|
||||
(select-window window))
|
||||
(when next-buffers
|
||||
(set-window-next-buffers
|
||||
window
|
||||
(delq nil (mapcar (lambda (buffer)
|
||||
(setq buffer (get-buffer buffer))
|
||||
(when (buffer-live-p buffer) buffer))
|
||||
next-buffers))))
|
||||
(when prev-buffers
|
||||
(set-window-prev-buffers
|
||||
window
|
||||
(delq nil (mapcar (lambda (entry)
|
||||
(let ((buffer (get-buffer (nth 0 entry)))
|
||||
(m1 (nth 1 entry))
|
||||
(m2 (nth 2 entry)))
|
||||
(when (buffer-live-p buffer)
|
||||
(list buffer
|
||||
(if (markerp m1) m1
|
||||
(set-marker (make-marker) m1
|
||||
buffer))
|
||||
(if (markerp m2) m2
|
||||
(set-marker (make-marker) m2
|
||||
buffer))))))
|
||||
prev-buffers)))))
|
||||
(set-window-next-buffers
|
||||
window
|
||||
(delq nil (mapcar (lambda (buffer)
|
||||
(setq buffer (get-buffer buffer))
|
||||
(when (buffer-live-p buffer) buffer))
|
||||
next-buffers)))
|
||||
(set-window-prev-buffers
|
||||
window
|
||||
(delq nil (mapcar (lambda (entry)
|
||||
(let ((buffer (get-buffer (nth 0 entry)))
|
||||
(m1 (nth 1 entry))
|
||||
(m2 (nth 2 entry)))
|
||||
(when (buffer-live-p buffer)
|
||||
(list buffer
|
||||
(if (markerp m1) m1
|
||||
(set-marker (make-marker) m1
|
||||
buffer))
|
||||
(if (markerp m2) m2
|
||||
(set-marker (make-marker) m2
|
||||
buffer))))))
|
||||
prev-buffers))))
|
||||
;; We don't want to raise an error in case the buffer does
|
||||
;; not exist anymore, so we switch to a previous one and
|
||||
;; save the window with the intention of deleting it later
|
||||
|
|
Loading…
Add table
Reference in a new issue