From a30f0615eb3b5f218891f1b96f22732acf2ce3de Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 10 Aug 1994 03:21:20 +0000 Subject: [PATCH] (record_asynch_buffer_change): Do nothing except when waiting_for_user_input_p. --- src/keyboard.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/keyboard.c b/src/keyboard.c index 76fba2e35ad..ff26a4e414b 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -3419,9 +3419,19 @@ gobble_input (expected) record_asynch_buffer_change () { struct input_event event; + Lisp_Object tem; + event.kind = buffer_switch_event; event.frame_or_window = Qnil; + /* We don't need a buffer-switch event unless Emacs is waiting for input. + The purpose of the event is to make read_key_sequence look up the + keymaps again. If we aren't in read_key_sequence, we don't need one, + and the event could cause trouble by messing up (input-pending-p). */ + tem = Fwaiting_for_user_input_p (); + if (NILP (tem)) + return; + /* Make sure no interrupt happens while storing the event. */ #ifdef SIGIO if (interrupt_input) -- 2.39.5