Mercurial > emacs
diff src/keymap.c @ 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 | e761c2b18894 |
| children | de651e959736 |
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)
