]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't add an echo dash for the first keystroke (Bug#7137).
authorChong Yidong <cyd@stupidchicken.com>
Mon, 4 Oct 2010 18:16:22 +0000 (14:16 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Mon, 4 Oct 2010 18:16:22 +0000 (14:16 -0400)
* src/keyboard.c (echo_prompt): Function moved into read_key_sequence.
(read_key_sequence): Inline echo_prompt.
(echo_dash): Add a dash only if key is continued (Bug#7137).

src/ChangeLog
src/keyboard.c

index 7c907dd45efc1610c20941169bf8632cd1b0c103..6f388cd72831bce2784572b224bf8fb3fea47d67 100644 (file)
@@ -1,3 +1,9 @@
+2010-10-04  Chong Yidong  <cyd@stupidchicken.com>
+
+       * keyboard.c (echo_prompt): Function moved into read_key_sequence.
+       (read_key_sequence): Inline echo_prompt.
+       (echo_dash): Add a dash only if key is continued (Bug#7137).
+
 2010-10-04  Dan Nicolaescu  <dann@ics.uci.edu>
 
        Remove O_RDONLY, O_WRONLY definitions, not needed.
index 9e7225805d5d0fcc50b45bb03800ffe5a0aed605..9af26cd427dd311224bce9b1799064042ea4a051 100644 (file)
@@ -645,18 +645,6 @@ static int store_user_signal_events (void);
 static int cannot_suspend;
 
 \f
-/* Install the string STR as the beginning of the string of echoing,
-   so that it serves as a prompt for the next character.
-   Also start echoing.  */
-
-void
-echo_prompt (Lisp_Object str)
-{
-  current_kboard->echo_string = str;
-  current_kboard->echo_after_prompt = SCHARS (str);
-  echo_now ();
-}
-
 /* Add C to the echo string, if echoing is going on.
    C can be a character, which is printed prettily ("M-C-x" and all that
    jazz), or a symbol, whose name is printed.  */
@@ -755,6 +743,9 @@ echo_dash (void)
   if (NILP (current_kboard->echo_string))
     return;
 
+  if (this_command_key_count == 0)
+    return;
+
   if (!current_kboard->immediate_echo
       && SCHARS (current_kboard->echo_string) == 0)
     return;
@@ -9125,7 +9116,14 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
   if (INTERACTIVE)
     {
       if (!NILP (prompt))
-       echo_prompt (prompt);
+       {
+         /* Install the string STR as the beginning of the string of
+            echoing, so that it serves as a prompt for the next
+            character.  */
+         current_kboard->echo_string = prompt;
+         current_kboard->echo_after_prompt = SCHARS (prompt);
+         echo_now ();
+       }
       else if (cursor_in_echo_area
               && (FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes))
               && NILP (Fzerop (Vecho_keystrokes)))