]> code.delx.au - gnu-emacs/commitdiff
* keyboard.c (read_key_sequence): When we generate a prefix symbol
authorJim Blandy <jimb@redhat.com>
Sat, 12 Jun 1993 16:00:47 +0000 (16:00 +0000)
committerJim Blandy <jimb@redhat.com>
Sat, 12 Jun 1993 16:00:47 +0000 (16:00 +0000)
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.

src/keyboard.c

index 822f336b65e0d586ba0f954bff81a8f9e13ce126..c78c43c2d8911200d15deec18f6cb3b7e04aa073 100644 (file)
@@ -3816,8 +3816,13 @@ read_key_sequence (keybuf, bufsize, prompt)
                      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.  */