changeset 25794:a6041d251b77

(resize_mini_window): Use grow_mini_window and shrink_mini_window.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 23 Sep 1999 11:58:42 +0000
parents 2bbee3534773
children 84921c27b2b5
files src/xdisp.c
diffstat 1 files changed, 12 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Thu Sep 23 11:58:41 1999 +0000
+++ b/src/xdisp.c	Thu Sep 23 11:58:42 1999 +0000
@@ -5518,30 +5518,19 @@
 
       /* Let it grow only, until we display an empty message, in which
 	 case the window shrinks again.  */
-      if (height > XFASTINT (w->height)
-	  || exact_p
-	  || BEGV == ZV)
-	{
-	  Lisp_Object old_selected_window;
-	  Lisp_Object fix_window;
+      if (height > XFASTINT (w->height))
+	{
 	  int old_height = XFASTINT (w->height);
-	      
-	  freeze_window_starts (f, height > XFASTINT (w->height));
-
-	  /* If the mini-buffer is selected, try to not change
-	     the height of Vminibuf_scroll_window.  Otherwise try
-	     to not change the height of the selected window.  */
-	  if (MINI_WINDOW_P (XWINDOW (selected_window)))
-	    fix_window = Vminibuf_scroll_window;
-	  else
-	    fix_window = selected_window;
-	  
-	  old_selected_window = selected_window;
-	  XSETWINDOW (selected_window, w);
-	  XWINDOW (fix_window)->height_fixed_p = 1;
-	  change_window_height (height - XFASTINT (w->height), 0);
-	  XWINDOW (fix_window)->height_fixed_p = 0;
-	  selected_window = old_selected_window;
+	  freeze_window_starts (f, 1);
+	  grow_mini_window (w, height - XFASTINT (w->height));
+	  window_height_changed_p = XFASTINT (w->height) != old_height;
+	}
+      else if (height < XFASTINT (w->height)
+	       && (exact_p || BEGV == ZV))
+	{
+	  int old_height = XFASTINT (w->height);
+	  freeze_window_starts (f, 0);
+	  shrink_mini_window (w);
 	  window_height_changed_p = XFASTINT (w->height) != old_height;
 	}
     }