changeset 81929:504dd581ce3c

(Fdisplay_buffer): If largest or LRU window is the only window, split it even if it is not eligible for splitting. This restores the original behavior broken by the 2007-07-15 change.
author Martin Rudalics <rudalics@gmx.at>
date Tue, 17 Jul 2007 07:22:59 +0000
parents a6745196bd94
children c3be5798b162
files src/window.c
diffstat 1 files changed, 10 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/window.c	Tue Jul 17 07:04:48 2007 +0000
+++ b/src/window.c	Tue Jul 17 07:22:59 2007 +0000
@@ -3738,12 +3738,13 @@
       else
 	window = Fget_largest_window (frames, Qt);
 
-      /* If we got a tall enough full-width window that can be split,
-	 split it.  */
+      /* If the largest window is tall enough, full-width, and either eligible
+	 for splitting or the only window, split it.  */
       if (!NILP (window)
 	  && ! FRAME_NO_SPLIT_P (XFRAME (XWINDOW (window)->frame))
 	  && WINDOW_FULL_WIDTH_P (XWINDOW (window))
-	  && window_height (window) >= split_height_threshold
+	  && (window_height (window) >= split_height_threshold
+	      || (NILP (XWINDOW (window)->parent)))
 	  && (window_height (window)
 	      >= (2 * window_min_size_2 (XWINDOW (window), 0))))
 	window = Fsplit_window (window, Qnil, Qnil);
@@ -3752,13 +3753,13 @@
 	  Lisp_Object upper, lower, other;
 
 	  window = Fget_lru_window (frames, Qt);
-	  /* If the LRU window is selected, and big enough,
-	     and can be split, split it.  */
+	  /* If the LRU window is tall enough, and either eligible for splitting
+	  and selected or the only window, split it.  */
 	  if (!NILP (window)
 	      && ! FRAME_NO_SPLIT_P (XFRAME (XWINDOW (window)->frame))
-	      && (EQ (window, selected_window)
-		  || NILP (XWINDOW (window)->parent))
-	      && window_height (window) >= split_height_threshold
+	      && ((EQ (window, selected_window)
+		   && window_height (window) >= split_height_threshold)
+		  || (NILP (XWINDOW (window)->parent)))
 	      && (window_height (window)
 		  >= (2 * window_min_size_2 (XWINDOW (window), 0))))
 	    window = Fsplit_window (window, Qnil, Qnil);
@@ -7601,4 +7602,4 @@
 }
 
 /* arch-tag: 90a9c576-0590-48f1-a5f1-6c96a0452d9f
-   (do not change this comment) */
+   (do not change thisc omment) */