diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-10-29 17:05:35 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-10-29 17:05:35 -0400 |
commit | 4c9797cb77cee0d72084567ed8a7e97fcf41abff (patch) | |
tree | 265ecd2bdf1b46c832f48c3a7a4ffe1378c20ffd /src/keyboard.c | |
parent | dcd163ac993757af6afa129b8625e3ea1c43973a (diff) | |
download | emacs-4c9797cb77cee0d72084567ed8a7e97fcf41abff.tar.gz |
* src/keyboard.c (command_loop_1): If command is nil, call `undefined'.
* lisp/subr.el (undefined): Add missing behavior from the C code for
unbound keys.
Diffstat (limited to 'src/keyboard.c')
-rw-r--r-- | src/keyboard.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 0ff4cda034a..6831f4d2cad 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -1510,27 +1510,8 @@ command_loop_1 (void) already_adjusted = 0; if (NILP (Vthis_command)) - { - /* nil means key is undefined. */ - Lisp_Object keys = Fvector (i, keybuf); - keys = Fkey_description (keys, Qnil); - bitch_at_user (); - message_with_string ("%s is undefined", keys, 0); - kset_defining_kbd_macro (current_kboard, Qnil); - update_mode_lines = 1; - /* 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)) - kset_prefix_arg (current_kboard, Qnil); - } - else - kset_prefix_arg (current_kboard, Qnil); - } + /* nil means key is undefined. */ + call0 (Qundefined); else { /* Here for a command that isn't executed directly. */ |