]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/window.el (window--state-put-2): Set next/prev-buffers even to nil.
authorJuri Linkov <juri@linkov.net>
Wed, 28 Apr 2021 20:25:08 +0000 (23:25 +0300)
committerJuri Linkov <juri@linkov.net>
Wed, 28 Apr 2021 20:25:08 +0000 (23:25 +0300)
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)

lisp/window.el

index 036eb271ee8a6297a3148028e0b2eacf54d1cde0..cf5752113d5667037e3d843c543dcaf6135ecc8c 100644 (file)
@@ -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