diff options
Diffstat (limited to 'src/keyboard.c')
| -rw-r--r-- | src/keyboard.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 2d9643d455c..60c6283dab5 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1540,7 +1540,18 @@ command_loop_1 (void) | |||
| 1540 | message_with_string ("%s is undefined", keys, 0); | 1540 | message_with_string ("%s is undefined", keys, 0); |
| 1541 | KVAR (current_kboard, defining_kbd_macro) = Qnil; | 1541 | KVAR (current_kboard, defining_kbd_macro) = Qnil; |
| 1542 | update_mode_lines = 1; | 1542 | update_mode_lines = 1; |
| 1543 | KVAR (current_kboard, Vprefix_arg) = Qnil; | 1543 | /* If this is a down-mouse event, don't reset prefix-arg; |
| 1544 | pass it to the command run by the up event. */ | ||
| 1545 | if (EVENT_HAS_PARAMETERS (last_command_event)) | ||
| 1546 | { | ||
| 1547 | Lisp_Object breakdown | ||
| 1548 | = parse_modifiers (EVENT_HEAD (last_command_event)); | ||
| 1549 | int modifiers = XINT (XCAR (XCDR (breakdown))); | ||
| 1550 | if (!(modifiers & down_modifier)) | ||
| 1551 | KVAR (current_kboard, Vprefix_arg) = Qnil; | ||
| 1552 | } | ||
| 1553 | else | ||
| 1554 | KVAR (current_kboard, Vprefix_arg) = Qnil; | ||
| 1544 | } | 1555 | } |
| 1545 | else | 1556 | else |
| 1546 | { | 1557 | { |
| @@ -7478,7 +7489,7 @@ menu_bar_items (Lisp_Object old) | |||
| 7478 | if (CONSP (def)) | 7489 | if (CONSP (def)) |
| 7479 | { | 7490 | { |
| 7480 | menu_bar_one_keymap_changed_items = Qnil; | 7491 | menu_bar_one_keymap_changed_items = Qnil; |
| 7481 | map_keymap (def, menu_bar_item, Qnil, NULL, 1); | 7492 | map_keymap_canonical (def, menu_bar_item, Qnil, NULL); |
| 7482 | } | 7493 | } |
| 7483 | } | 7494 | } |
| 7484 | 7495 | ||
| @@ -7819,7 +7830,7 @@ parse_menu_item (Lisp_Object item, int inmenubar) | |||
| 7819 | /* If we got no definition, this item is just unselectable text which | 7830 | /* If we got no definition, this item is just unselectable text which |
| 7820 | is OK in a submenu but not in the menubar. */ | 7831 | is OK in a submenu but not in the menubar. */ |
| 7821 | if (NILP (def)) | 7832 | if (NILP (def)) |
| 7822 | return (inmenubar ? 0 : 1); | 7833 | return (!inmenubar); |
| 7823 | 7834 | ||
| 7824 | /* See if this is a separate pane or a submenu. */ | 7835 | /* See if this is a separate pane or a submenu. */ |
| 7825 | def = AREF (item_properties, ITEM_PROPERTY_DEF); | 7836 | def = AREF (item_properties, ITEM_PROPERTY_DEF); |
| @@ -10640,7 +10651,8 @@ DEFUN ("recursion-depth", Frecursion_depth, Srecursion_depth, 0, 0, 0, | |||
| 10640 | DEFUN ("open-dribble-file", Fopen_dribble_file, Sopen_dribble_file, 1, 1, | 10651 | DEFUN ("open-dribble-file", Fopen_dribble_file, Sopen_dribble_file, 1, 1, |
| 10641 | "FOpen dribble file: ", | 10652 | "FOpen dribble file: ", |
| 10642 | doc: /* Start writing all keyboard characters to a dribble file called FILE. | 10653 | doc: /* Start writing all keyboard characters to a dribble file called FILE. |
| 10643 | If FILE is nil, close any open dribble file. */) | 10654 | If FILE is nil, close any open dribble file. |
| 10655 | The file will be closed when Emacs exits. */) | ||
| 10644 | (Lisp_Object file) | 10656 | (Lisp_Object file) |
| 10645 | { | 10657 | { |
| 10646 | if (dribble) | 10658 | if (dribble) |