From: Richard M. Stallman Date: Wed, 10 Aug 1994 03:21:20 +0000 (+0000) Subject: (record_asynch_buffer_change): Do nothing except when waiting_for_user_input_p. X-Git-Tag: emacs-19.34~7351 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a30f0615eb3b5f218891f1b96f22732acf2ce3de;p=emacs.git (record_asynch_buffer_change): Do nothing except when waiting_for_user_input_p. --- 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)