Mercurial > emacs
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)