aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/keymap.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/keymap.c b/src/keymap.c
index 7831c293316..107c2ec3b87 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -272,6 +272,10 @@ access_keymap (map, idx, t_ok)
272 be put in the canonical order. */ 272 be put in the canonical order. */
273 if (XTYPE (idx) == Lisp_Symbol) 273 if (XTYPE (idx) == Lisp_Symbol)
274 idx = reorder_modifiers (idx); 274 idx = reorder_modifiers (idx);
275 else if (INTEGERP (idx))
276 /* Clobber the high bits that can be present on a machine
277 with more than 24 bits of integer. */
278 XFASTINT (idx) = XINT (idx) & ((1 << 24) - 1);
275 279
276 { 280 {
277 Lisp_Object tail; 281 Lisp_Object tail;
@@ -368,7 +372,10 @@ store_in_keymap (keymap, idx, def)
368 be put in the canonical order. */ 372 be put in the canonical order. */
369 if (XTYPE (idx) == Lisp_Symbol) 373 if (XTYPE (idx) == Lisp_Symbol)
370 idx = reorder_modifiers (idx); 374 idx = reorder_modifiers (idx);
371 375 else if (INTEGERP (idx))
376 /* Clobber the high bits that can be present on a machine
377 with more than 24 bits of integer. */
378 XFASTINT (idx) = XINT (idx) & ((1 << 24) - 1);
372 379
373 /* Scan the keymap for a binding of idx. */ 380 /* Scan the keymap for a binding of idx. */
374 { 381 {