diff options
Diffstat (limited to 'src/lread.c')
-rw-r--r-- | src/lread.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lread.c b/src/lread.c index 9910db27de7..ec54d2d81ad 100644 --- a/src/lread.c +++ b/src/lread.c @@ -705,8 +705,13 @@ read_filtered_event (bool no_switch_frame, bool ascii_required, /* Read until we get an acceptable event. */ retry: do - val = read_char (0, Qnil, (input_method ? Qnil : Qt), 0, - NUMBERP (seconds) ? &end_time : NULL); + { + ptrdiff_t count = SPECPDL_INDEX (); + specbind (Qecho_keystrokes, Qnil); + val = read_char (0, Qnil, (input_method ? Qnil : Qt), 0, + NUMBERP (seconds) ? &end_time : NULL); + unbind_to (count, Qnil); + } while (FIXNUMP (val) && XFIXNUM (val) == -2); /* wrong_kboard_jmpbuf */ if (BUFFERP (val)) |