Avoid overwriting minibuffer prompt by keystrokes echo

* src/lread.c (Fread_char, Fread_event, Fread_char_exclusive):
Call cancel_echoing to make sure the prompt is not obscured by
keystrokes echo.  (Bug#46243)
This commit is contained in:
Eli Zaretskii 2021-02-04 19:35:07 +02:00
parent 3bf21f52b6
commit a2d7f3f171

View file

@ -804,7 +804,10 @@ If `inhibit-interaction' is non-nil, this function will signal an
barf_if_interaction_inhibited ();
if (! NILP (prompt))
message_with_string ("%s", prompt, 0);
{
cancel_echoing ();
message_with_string ("%s", prompt, 0);
}
val = read_filtered_event (1, 1, 1, ! NILP (inherit_input_method), seconds);
return (NILP (val) ? Qnil
@ -839,7 +842,10 @@ If `inhibit-interaction' is non-nil, this function will signal an
barf_if_interaction_inhibited ();
if (! NILP (prompt))
message_with_string ("%s", prompt, 0);
{
cancel_echoing ();
message_with_string ("%s", prompt, 0);
}
return read_filtered_event (0, 0, 0, ! NILP (inherit_input_method), seconds);
}
@ -875,7 +881,10 @@ If `inhibit-interaction' is non-nil, this function will signal an
barf_if_interaction_inhibited ();
if (! NILP (prompt))
message_with_string ("%s", prompt, 0);
{
cancel_echoing ();
message_with_string ("%s", prompt, 0);
}
val = read_filtered_event (1, 1, 0, ! NILP (inherit_input_method), seconds);