From: Martin Rudalics <rudalics@gmx.at>
Date: Thu, 8 Sep 2011 15:45:20 +0000 (+0200)
Subject: Don't have previous and next buffers deal with internal windows.
X-Git-Tag: emacs-pretest-24.0.90~104^2~130
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9b1c252e294bed3aef0d2f2fc5d1fa9f72df9ee8;p=emacs.git

Don't have previous and next buffers deal with internal windows.

* window.c (Fset_window_prev_buffers, Fset_window_next_buffers):
Operate on live windows only.

* window.el (window-deletable-p): Make sure window is live before
invoking window-prev-buffers.
---

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 74aae97943d..c567b0f8c4d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2011-09-08  Martin Rudalics  <rudalics@gmx.at>
+
+	* window.el (window-deletable-p): Make sure window is live before
+	invoking window-prev-buffers.
+
 2011-09-08  Leo Liu  <sdl.web@gmail.com>
 
 	* net/rcirc.el (rcirc-cmd-invite): New rcirc command.  (Bug#9453)
diff --git a/lisp/window.el b/lisp/window.el
index d771f9ffdcd..88675c08624 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -2305,7 +2305,8 @@ its buffer or has no previous buffer to show instead."
 	 (dedicated (and (window-buffer window) (window-dedicated-p window)))
 	 ;; prev non-nil means there is another buffer we can show
 	 ;; in WINDOW instead.
-	 (prev (and (window-prev-buffers window)
+	 (prev (and (window-live-p window)
+		    (window-prev-buffers window)
 		    (or (cdr (window-prev-buffers window))
 			(not (eq (caar (window-prev-buffers window))
 				 buffer))))))
diff --git a/src/ChangeLog b/src/ChangeLog
index a4c985b1a0c..bc3cbaa1282 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2011-09-08  Martin Rudalics  <rudalics@gmx.at>
+
+	* window.c (Fset_window_prev_buffers, Fset_window_next_buffers):
+	Operate on live windows only.
+
 2011-09-08  Juanma Barranquero  <lekktu@gmail.com>
 
 	* emacs.c (my_heap_start): #ifdef to avoid warnings when unused.
diff --git a/src/window.c b/src/window.c
index e3850387a64..0473ed4e3eb 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1682,7 +1682,7 @@ PREV-BUFFERS should be either nil or a list of <buffer, window-start,
 window-point> triples where buffer was previously shown in WINDOW.  */)
      (Lisp_Object window, Lisp_Object prev_buffers)
 {
-  return decode_any_window (window)->prev_buffers = prev_buffers;
+  return decode_window (window)->prev_buffers = prev_buffers;
 }
 
 DEFUN ("window-next-buffers", Fwindow_next_buffers, Swindow_next_buffers,
@@ -1704,7 +1704,7 @@ NEXT-BUFFERS should be either nil or a list of buffers that have been
 recently re-shown in WINDOW.  */)
      (Lisp_Object window, Lisp_Object next_buffers)
 {
-  return decode_any_window (window)->next_buffers = next_buffers;
+  return decode_window (window)->next_buffers = next_buffers;
 }
 
 DEFUN ("window-parameters", Fwindow_parameters, Swindow_parameters,