From: Martin Rudalics 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 + + * window.el (window-deletable-p): Make sure window is live before + invoking window-prev-buffers. + 2011-09-08 Leo Liu * 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 + + * window.c (Fset_window_prev_buffers, Fset_window_next_buffers): + Operate on live windows only. + 2011-09-08 Juanma Barranquero * 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 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,