bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#38645: 26.3; minibuffer input is called with multi-line window when


From: Eli Zaretskii
Subject: bug#38645: 26.3; minibuffer input is called with multi-line window when multi-line message is shown
Date: Thu, 26 Dec 2019 22:49:45 +0200

> From: ynyaaa@gmail.com
> Cc: 38645@debbugs.gnu.org
> Date: Fri, 20 Dec 2019 11:16:31 +0900
> 
> With (setq resize-mini-windows t), the key sequence below shows message
> in one-line window. Then input motion commands and the minibuffer is
> redisplayed in one-line window. Eval: prompt is hidden.
> 
> M-:
> C-q C-j
> ?a
> C-x C-e

Martin, what do you think about the following fix?  Is it correct, and
if so, safe enough for the release branch?

diff --git a/src/xdisp.c b/src/xdisp.c
index 3080f8920a..438267350f 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -11562,7 +11562,15 @@ resize_mini_window (struct window *w, bool exact_p)
 
       SET_MARKER_FROM_TEXT_POS (w->start, start);
 
-      if (EQ (Vresize_mini_windows, Qgrow_only))
+      if (EQ (Vresize_mini_windows, Qgrow_only)
+         /* Don't automatically shrink the mini-window, even if
+            resize-mini-windows is t, if we are displaying an
+            echo-area message while the minibuffer is active.  */
+         || (minibuf_level > 0
+             && WINDOW_LIVE_P (minibuf_window)
+             && XWINDOW (minibuf_window) == w
+             && !NILP (echo_area_buffer[0])
+             && EQ (echo_area_window, minibuf_window)))
        {
          /* Let it grow only, until we display an empty message, in which
             case the window shrinks again.  */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]