diff options
| author | Daniel Colascione <dancol@dancol.org> | 2018-06-09 18:12:15 -0700 |
|---|---|---|
| committer | Daniel Colascione <dancol@dancol.org> | 2018-06-09 18:14:03 -0700 |
| commit | cace203da108da4d281a99953a6fc71a18cde029 (patch) | |
| tree | 6dd07dafbc063109c245acbba066d67bed90367c | |
| parent | 3e3e23fb88fdc19e859c0aa2ab51b86afd323c71 (diff) | |
| download | emacs-cace203da108da4d281a99953a6fc71a18cde029.tar.gz | |
Unbreak echoing
* src/keyboard.c (read_key_sequence): Don't echo_truncate the first time.
| -rw-r--r-- | src/keyboard.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index bd9292c2652..c92684d3a3e 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -8964,6 +8964,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, the first time we remember a mouse event. */ Lisp_Object used_mouse_menu_history = Qnil; + /* Distinguish first time through from replay with mock_input == 0. */ + bool is_replay = false; + /* If the sequence is unbound in submaps[], then keybuf[fkey.start..fkey.end-1] is a prefix in Vfunction_key_map, and fkey.map is its binding. @@ -9072,8 +9075,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, /* These are no-ops the first time through, but if we restart, they revert the echo area and this_command_keys to their original state. */ this_command_key_count = keys_start; - if (INTERACTIVE) + if (INTERACTIVE && is_replay) echo_truncate (echo_start); + is_replay = true; /* If the best binding for the current key sequence is a keymap, or we may be looking at a function key's escape sequence, keep on |
