]> git.eshelyaron.com Git - emacs.git/commitdiff
(get_keyelt): Discard keyboard equivalents
authorRichard M. Stallman <rms@gnu.org>
Sat, 19 Feb 1994 06:29:30 +0000 (06:29 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 19 Feb 1994 06:29:30 +0000 (06:29 +0000)
stored in a menu keymap element.

src/keymap.c

index 399292a1314a561b437c3609f0bd6d7655421809..b95c04bc37f6bcaa266d7d759f770381765d69fd 100644 (file)
@@ -371,6 +371,16 @@ get_keyelt (object)
          if (XTYPE (object) == Lisp_Cons
              && XTYPE (XCONS (object)->car) == Lisp_String)
            object = XCONS (object)->cdr;
+         /* Also remove the vector that caches key equivalences, if any.  */
+         if (XTYPE (object) == Lisp_Cons
+             && XTYPE (XCONS (object)->car) == Lisp_Vector)
+           {
+             object = XCONS (object)->cdr;
+             /* Also remove the key's description.  */
+             if (XTYPE (object) == Lisp_Cons
+                 && XTYPE (XCONS (object)->car) == Lisp_String)
+               object = XCONS (object)->cdr;
+           }
        }
 
       else
@@ -1441,10 +1451,12 @@ ascii_sequence_p (seq)
 {
   Lisp_Object i;
   int len = XINT (Flength (seq));
-  
+
   for (XFASTINT (i) = 0; XFASTINT (i) < len; XFASTINT (i)++)
     {
-      Lisp_Object elt = Faref (seq, i);
+      Lisp_Object elt;
+
+      elt = Faref (seq, i);
 
       if (XTYPE (elt) != Lisp_Int
          || (XUINT (elt) & ~CHAR_META) >= 0x80)