mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-18 18:00:11 +00:00
Ensure mini-window is resized to show active minibuffer contents
* src/keyboard.c (read_char, command_loop_1): Resize the mini-window after clearing the echo area while minibuffer is active. (Bug#38645)
This commit is contained in:
parent
450633f85a
commit
e3ec84fd7d
1 changed files with 15 additions and 0 deletions
|
@ -1318,6 +1318,11 @@ command_loop_1 (void)
|
|||
message1 (0);
|
||||
safe_run_hooks (Qecho_area_clear_hook);
|
||||
|
||||
/* We cleared the echo area, and the minibuffer will now
|
||||
show, so resize the mini-window in case the minibuffer
|
||||
needs more or less space than the echo area. */
|
||||
resize_mini_window (XWINDOW (minibuf_window), false);
|
||||
|
||||
unbind_to (count, Qnil);
|
||||
|
||||
/* If a C-g came in before, treat it as input now. */
|
||||
|
@ -2989,6 +2994,16 @@ read_char (int commandflag, Lisp_Object map,
|
|||
{
|
||||
safe_run_hooks (Qecho_area_clear_hook);
|
||||
clear_message (1, 0);
|
||||
/* If we were showing the echo-area message on top of an
|
||||
active minibuffer, resize the mini-window, since the
|
||||
minibuffer may need more or less space than the echo area
|
||||
we've just wiped. */
|
||||
if (minibuf_level
|
||||
&& EQ (minibuf_window, echo_area_window)
|
||||
/* The case where minibuffer-message-timeout is a number
|
||||
was already handled near the beginning of command_loop_1. */
|
||||
&& !NUMBERP (Vminibuffer_message_timeout))
|
||||
resize_mini_window (XWINDOW (minibuf_window), false);
|
||||
}
|
||||
else if (FUNCTIONP (Vclear_message_function))
|
||||
clear_message (1, 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue