aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1994-02-19 06:29:30 +0000
committerRichard M. Stallman1994-02-19 06:29:30 +0000
commitffab2bd62ccd45c33060f48788b52be32b5f158b (patch)
tree5731907c81bbab5f14c7d5936dc2b224199821db /src
parentfa6d54d9a08c0927d7da6b67b5f3f8c34f2b68d5 (diff)
downloademacs-ffab2bd62ccd45c33060f48788b52be32b5f158b.tar.gz
emacs-ffab2bd62ccd45c33060f48788b52be32b5f158b.zip
(get_keyelt): Discard keyboard equivalents
stored in a menu keymap element.
Diffstat (limited to 'src')
-rw-r--r--src/keymap.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/keymap.c b/src/keymap.c
index 399292a1314..b95c04bc37f 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -371,6 +371,16 @@ get_keyelt (object)
371 if (XTYPE (object) == Lisp_Cons 371 if (XTYPE (object) == Lisp_Cons
372 && XTYPE (XCONS (object)->car) == Lisp_String) 372 && XTYPE (XCONS (object)->car) == Lisp_String)
373 object = XCONS (object)->cdr; 373 object = XCONS (object)->cdr;
374 /* Also remove the vector that caches key equivalences, if any. */
375 if (XTYPE (object) == Lisp_Cons
376 && XTYPE (XCONS (object)->car) == Lisp_Vector)
377 {
378 object = XCONS (object)->cdr;
379 /* Also remove the key's description. */
380 if (XTYPE (object) == Lisp_Cons
381 && XTYPE (XCONS (object)->car) == Lisp_String)
382 object = XCONS (object)->cdr;
383 }
374 } 384 }
375 385
376 else 386 else
@@ -1441,10 +1451,12 @@ ascii_sequence_p (seq)
1441{ 1451{
1442 Lisp_Object i; 1452 Lisp_Object i;
1443 int len = XINT (Flength (seq)); 1453 int len = XINT (Flength (seq));
1444 1454
1445 for (XFASTINT (i) = 0; XFASTINT (i) < len; XFASTINT (i)++) 1455 for (XFASTINT (i) = 0; XFASTINT (i) < len; XFASTINT (i)++)
1446 { 1456 {
1447 Lisp_Object elt = Faref (seq, i); 1457 Lisp_Object elt;
1458
1459 elt = Faref (seq, i);
1448 1460
1449 if (XTYPE (elt) != Lisp_Int 1461 if (XTYPE (elt) != Lisp_Int
1450 || (XUINT (elt) & ~CHAR_META) >= 0x80) 1462 || (XUINT (elt) & ~CHAR_META) >= 0x80)