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

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

bug#46243: [External] : Re: bug#46243: 26.3; If invoke menu item that re


From: Eli Zaretskii
Subject: bug#46243: [External] : Re: bug#46243: 26.3; If invoke menu item that reads a char, get keystrokes echo
Date: Wed, 03 Feb 2021 17:56:45 +0200

> Date: Tue, 02 Feb 2021 19:04:00 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 46243@debbugs.gnu.org
> 
> > The change was introduced in Emacs 24, AFAICT.
> 
> In Emacs 24.4, to be exact.
> 
> > Regression or improvement?
> 
> Not clear yet, more analysis is required.  Stay tuned.

This is a consequence of fixing bug#15332.  CC'ing Stefan, who both
reported the bug and installed the fix.

Stefan, the change you made to fix that bug, viz.:

diff --git a/src/keyboard.c b/src/keyboard.c
index 440820c..020c885 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -2596,10 +2596,8 @@ read_char (int commandflag, Lisp_Object map,
 
   if (/* There currently is something in the echo area.  */
       !NILP (echo_area_buffer[0])
-      && (/* And it's either not from echoing.  */
-         !EQ (echo_area_buffer[0], echo_message_buffer)
-         /* Or it's an echo from a different kboard.  */
-         || echo_kboard != current_kboard
+      && (/* It's an echo from a different kboard.  */
+         echo_kboard != current_kboard
          /* Or we explicitly allow overwriting whatever there is.  */
          || ok_to_echo_at_next_pause == NULL))
     cancel_echoing ();
   else
     echo_dash ();

is what's causing this one: where we previously called cancel_echoing,
because !EQ (echo_area_buffer[0], echo_message_buffer) was true, we
now call echo_dash, because the remaining 2 conditions are false.

The change you installed is not explained, so I cannot reason about
the importance of echo_message_buffer.  Do you remember why you
decided to remove that 3rd condition?





reply via email to

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