]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix mini-window resizing under resize-mini-windows = t
authorEli Zaretskii <eliz@gnu.org>
Mon, 30 Dec 2019 15:53:52 +0000 (17:53 +0200)
committerEli Zaretskii <eliz@gnu.org>
Mon, 30 Dec 2019 15:53:52 +0000 (17:53 +0200)
* src/window.c (grow_mini_window): Fix resizing of mini-window
when the echo area is cleared, and the caller asks for the
mini-window to have zero lines.  (Bug#38791)

src/window.c

index c52a8ca285591b1e98e25d0d08e094386d07bab7..1962e07f8d066d3e7d4baa3cfea0ea93d9490a7f 100644 (file)
@@ -5229,10 +5229,15 @@ grow_mini_window (struct window *w, int delta)
 {
   struct frame *f = XFRAME (w->frame);
   int old_height = window_body_height (w, true);
+  int min_height = FRAME_LINE_HEIGHT (f);
 
   eassert (MINI_WINDOW_P (w));
 
-  if ((delta != 0) && (old_height + delta >= FRAME_LINE_HEIGHT (f)))
+  /* Never shrink mini-window to less than its minimum height.  */
+  if (old_height + delta < min_height)
+    delta = old_height > min_height ? min_height - old_height : 0;
+
+  if (delta != 0)
     {
       Lisp_Object root = FRAME_ROOT_WINDOW (f);
       struct window *r = XWINDOW (root);