aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy1993-06-12 16:00:47 +0000
committerJim Blandy1993-06-12 16:00:47 +0000
commit14ec05a6aa653f32678c84ccbe65360e05fcc00e (patch)
tree00a145d962c727936cafedec795255ee02b30a55 /src
parente7d310aaf0cd44605dd608f6a6a8b2ce99440678 (diff)
downloademacs-14ec05a6aa653f32678c84ccbe65360e05fcc00e.tar.gz
emacs-14ec05a6aa653f32678c84ccbe65360e05fcc00e.zip
* 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.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 822f336b65e..c78c43c2d89 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -3816,8 +3816,13 @@ read_key_sequence (keybuf, bufsize, prompt)
3816 if (t + 1 >= bufsize) 3816 if (t + 1 >= bufsize)
3817 error ("key sequence too long"); 3817 error ("key sequence too long");
3818 keybuf[t] = posn; 3818 keybuf[t] = posn;
3819 keybuf[t+1] = key; 3819 mock_input = t + 1;
3820 mock_input = t + 2; 3820
3821 /* Put the rest on unread_command_events - that
3822 way, if the symbol isn't bound to a prefix map,
3823 then we don't lose the actual mouse event. */
3824 unread_command_events =
3825 Fcons (key, unread_command_events);
3821 3826
3822 /* If we switched buffers while reading the first event, 3827 /* If we switched buffers while reading the first event,
3823 replay in case we switched keymaps too. */ 3828 replay in case we switched keymaps too. */