diff options
| author | Jim Blandy | 1993-06-12 16:00:47 +0000 |
|---|---|---|
| committer | Jim Blandy | 1993-06-12 16:00:47 +0000 |
| commit | 14ec05a6aa653f32678c84ccbe65360e05fcc00e (patch) | |
| tree | 00a145d962c727936cafedec795255ee02b30a55 /src | |
| parent | e7d310aaf0cd44605dd608f6a6a8b2ce99440678 (diff) | |
| download | emacs-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.c | 9 |
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. */ |