# HG changeset patch # User Chong Yidong # Date 1286216182 14400 # Node ID c476e521566f33104d8ee056b8c0d11bb54bf441 # Parent 2b72330aa98ab77c9694535be9622b96ff7f80c6 Don't add an echo dash for the first keystroke (Bug#7137). * 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). diff -r 2b72330aa98a -r c476e521566f src/ChangeLog --- a/src/ChangeLog Mon Oct 04 10:22:57 2010 -0700 +++ b/src/ChangeLog Mon Oct 04 14:16:22 2010 -0400 @@ -1,3 +1,9 @@ +2010-10-04 Chong Yidong + + * 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 Remove O_RDONLY, O_WRONLY definitions, not needed. diff -r 2b72330aa98a -r c476e521566f src/keyboard.c --- a/src/keyboard.c Mon Oct 04 10:22:57 2010 -0700 +++ b/src/keyboard.c Mon Oct 04 14:16:22 2010 -0400 @@ -645,18 +645,6 @@ static int cannot_suspend; -/* 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 @@ 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 @@ 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)))