Subject: Re: bug#15332: Keystrokes's immediate echo only works every other time

From: Stefan Monnier <[email-masked]>
Date: Tue, 10 Sep 2013 22:41:37 -0400

> You'll see keystrokes echo as follows:

>    C-u-          (correct)
>    C-u 5         (instead of "C-u 5-")
>    C-u 5 5-      (only appears after you wait echo-keystrokes seconds)
>    C-u 5 5 5     (instead of "C-u 5 5 5-")
>    C-u 5 5 5 5-  (only appears after you wait echo-keystrokes seconds)
>    ...

> This worked correctly in 22.3 but is broken at least since 23.4.
   
The patch below appears to fix it.

        Stefan

=== modified file 'src/keyboard.c'
--- src/keyboard.c	2013-09-09 12:15:45 +0000
+++ src/keyboard.c	2013-09-11 02:27:54 +0000
@@ -2596,9 +2596,7 @@
 
   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.  */
+      && (/* 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))