Mercurial > emacs
changeset 110759:c476e521566f
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).
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Mon, 04 Oct 2010 14:16:22 -0400 |
parents | 2b72330aa98a |
children | ad76d32381df |
files | src/ChangeLog src/keyboard.c |
diffstat | 2 files changed, 17 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- 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 <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.
--- 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)))