* 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)
{
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);