1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-12 10:44:12 -08:00

Fix corner case in prefix-arg handling for mouse events (Bug#1586).

* src/keyboard.c (command_loop_1): If a down-mouse event is unbound,
leave any prefix arg for the up event.
This commit is contained in:
Chong Yidong 2011-07-02 19:40:04 -04:00
parent 83319045a4
commit 7a8e04f79e
2 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2011-07-02 Chong Yidong <cyd@stupidchicken.com>
* keyboard.c (command_loop_1): If a down-mouse event is unbound,
leave any prefix arg for the up event (Bug#1586).
2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
* lread.c (syms_of_lread): Mention single symbols defined by

View file

@ -1539,7 +1539,18 @@ command_loop_1 (void)
message_with_string ("%s is undefined", keys, 0);
KVAR (current_kboard, defining_kbd_macro) = Qnil;
update_mode_lines = 1;
KVAR (current_kboard, Vprefix_arg) = Qnil;
/* If this is a down-mouse event, don't reset prefix-arg;
pass it to the command run by the up event. */
if (EVENT_HAS_PARAMETERS (last_command_event))
{
Lisp_Object breakdown
= parse_modifiers (EVENT_HEAD (last_command_event));
int modifiers = XINT (XCAR (XCDR (breakdown)));
if (!(modifiers & down_modifier))
KVAR (current_kboard, Vprefix_arg) = Qnil;
}
else
KVAR (current_kboard, Vprefix_arg) = Qnil;
}
else
{