# HG changeset patch # User Jim Blandy # Date 739900847 0 # Node ID 2a4e19efe8620b9efc883c834fa91121dac9ab4d # Parent 94593e8e6593c82f08069c31a6aabb9068eb2196 * keyboard.c (read_key_sequence): When we generate a prefix symbol for a mouse event, store the actual mouse event in unread_command_events, so we don't lose it if the symbol isn't bound to a prefix. diff -r 94593e8e6593 -r 2a4e19efe862 src/keyboard.c --- a/src/keyboard.c Sat Jun 12 15:37:36 1993 +0000 +++ b/src/keyboard.c Sat Jun 12 16:00:47 1993 +0000 @@ -3816,8 +3816,13 @@ if (t + 1 >= bufsize) error ("key sequence too long"); keybuf[t] = posn; - keybuf[t+1] = key; - mock_input = t + 2; + mock_input = t + 1; + + /* Put the rest on unread_command_events - that + way, if the symbol isn't bound to a prefix map, + then we don't lose the actual mouse event. */ + unread_command_events = + Fcons (key, unread_command_events); /* If we switched buffers while reading the first event, replay in case we switched keymaps too. */