# HG changeset patch # User Richard M. Stallman # Date 761639370 0 # Node ID d3ccce72be00744ce187a0c1c615f7b6aea5a535 # Parent 4cd71c48281fd6f96137d9c1df848f16d18d1750 (get_keyelt): Discard keyboard equivalents stored in a menu keymap element. diff -r 4cd71c48281f -r d3ccce72be00 src/keymap.c --- 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)