diff src/keymap.c @ 5745:f9e4d44504a4

Document #'events-to-keys some more, use it less. lisp/ChangeLog addition: 2013-07-10 Aidan Kehoe <kehoea@parhasard.net> * minibuf.el (get-user-response): * cmdloop.el (y-or-n-p-minibuf): No need to call #'events-to-keys in these two functions, #'lookup-key accepts events directly. * keymap.el: * keymap.el (events-to-keys): Document this function some more. Stop passing strings through unexamined, treat them as vectors of characters. Event keys are never integers, remove some code that only ran if (integerp (event-key ce)). Event keys are never numbers, don't check for that. Don't create (menu-selection call-interactively function-name) keystrokes for menu choices, #'character-to-event doesn't understand that syntax, so nothing uses it. Don't ever accept mouse events, #'character-to-event doesn't accept our synthesising of them. src/ChangeLog addition: 2013-07-10 Aidan Kehoe <kehoea@parhasard.net> * keymap.c: * keymap.c (key_desc_list_to_event): Drop the allow_menu_events argument. Don't accept lists starting with Qmenu_selection as describing keys, nothing generates them in a way this function understands. The intention is reasonable but the implementation was never documented and never finished. * keymap.c (syms_of_keymap): Drop Qmenu_selection. * events.c (Fcharacter_to_event): * keymap.h: Drop the allow_menu_events argument to key_desc_list_to_event.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 10 Jul 2013 14:14:30 +0100
parents 4d15e903800b
children 236e4afc565d
line wrap: on
line diff
--- a/src/keymap.c	Mon Jun 17 20:37:47 2013 +0100
+++ b/src/keymap.c	Wed Jul 10 14:14:30 2013 +0100
@@ -223,8 +223,6 @@
 Lisp_Object Qbutton##num##up;
 #include "keymap-buttons.h"
 
-Lisp_Object Qmenu_selection;
-
 /* Emacs compatibility */
 #define FROB(num)				\
 Lisp_Object Qmouse_##num;			\
@@ -1520,31 +1518,10 @@
 
 /* Used by character-to-event */
 void
-key_desc_list_to_event (Lisp_Object list, Lisp_Object event,
-                        int allow_menu_events)
+key_desc_list_to_event (Lisp_Object list, Lisp_Object event)
 {
   Lisp_Key_Data raw_key;
 
-  if (allow_menu_events &&
-      CONSP (list) &&
-      /* #### where the hell does this come from? */
-      EQ (XCAR (list), Qmenu_selection))
-    {
-      Lisp_Object fn, arg;
-      if (! NILP (Fcdr (Fcdr (list))))
-	invalid_argument ("Invalid menu event desc", list);
-      arg = Fcar (Fcdr (list));
-      if (SYMBOLP (arg))
-	fn = Qcall_interactively;
-      else
-	fn = Qeval;
-      XSET_EVENT_TYPE (event, misc_user_event);
-      XSET_EVENT_CHANNEL (event, wrap_frame (selected_frame ()));
-      XSET_EVENT_MISC_USER_FUNCTION (event, fn);
-      XSET_EVENT_MISC_USER_OBJECT (event, arg);
-      return;
-    }
-
   define_key_parser (list, &raw_key);
 
   /* The first zero is needed for Apple's i686-apple-darwin8-g++-4.0.1,
@@ -4672,7 +4649,6 @@
   DEFSYMBOL (Qmouse_##num);			\
   DEFSYMBOL (Qdown_mouse_##num);
 #include "keymap-buttons.h"
-  DEFSYMBOL (Qmenu_selection);
   DEFSYMBOL (QLFD);
   DEFSYMBOL (QTAB);
   DEFSYMBOL (QRET);