]> git.eshelyaron.com Git - emacs.git/commitdiff
(Vdefine_key_rebound_commands): New variable.
authorRichard M. Stallman <rms@gnu.org>
Sat, 17 Jun 1995 23:46:27 +0000 (23:46 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 17 Jun 1995 23:46:27 +0000 (23:46 +0000)
(syms_of_keymap): Set up Lisp var.
(Fdefine_key): Put new definition onto Vdefine_key_rebound_commands.

src/keymap.c

index 57932de4d61db81c508a30d34f52cf4dbf77927b..114282b8f83c8a3d732d58e0b261b02a19944b2f 100644 (file)
@@ -73,6 +73,12 @@ Lisp_Object Vminor_mode_map_alist;
    documentation.  */
 Lisp_Object Vfunction_key_map;
 
+/* A list of all commands given new bindings since a certain time
+   when nil was stored here.
+   This is used to speed up recomputation of menu key equivalents
+   when Emacs starts up.   t means don't record anything here.  */
+Lisp_Object Vdefine_key_rebound_commands;
+
 Lisp_Object Qkeymapp, Qkeymap, Qnon_ascii;
 
 /* A char with the CHAR_META bit set in a vector or the 0200 bit set
@@ -594,6 +600,9 @@ the front of KEYMAP.")
   if (length == 0)
     return Qnil;
 
+  if (SYMBOLP (def) && !EQ (Vdefine_key_rebound_commands, Qt))
+    Vdefine_key_rebound_commands = Fcons (def, Vdefine_key_rebound_commands);
+
   GCPRO3 (keymap, key, def);
 
   if (VECTORP (key))
@@ -2381,6 +2390,12 @@ syms_of_keymap ()
   Fset (intern ("ctl-x-map"), control_x_map);
   Ffset (intern ("Control-X-prefix"), control_x_map);
 
+  DEFVAR_LISP ("define-key-rebound-commands", &Vdefine_key_rebound_commands,
+    "List of commands given new key bindings recently.\n\
+This is used for internal purposes during Emacs startup;\n\
+don't alter it yourself.");
+  Vdefine_key_rebound_commands = Qt;
+
   DEFVAR_LISP ("minibuffer-local-map", &Vminibuffer_local_map,
     "Default keymap to use when reading from the minibuffer.");
   Vminibuffer_local_map = Fmake_sparse_keymap (Qnil);