changeset 6008:d3ccce72be00

(get_keyelt): Discard keyboard equivalents stored in a menu keymap element.
author Richard M. Stallman <rms@gnu.org>
date Sat, 19 Feb 1994 06:29:30 +0000
parents 4cd71c48281f
children f68004daa523
files src/keymap.c
diffstat 1 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/keymap.c	Sat Feb 19 06:29:10 1994 +0000
+++ b/src/keymap.c	Sat Feb 19 06:29:30 1994 +0000
@@ -371,6 +371,16 @@
 	  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 @@
 {
   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)