be put in the canonical order. */
if (XTYPE (idx) == Lisp_Symbol)
idx = reorder_modifiers (idx);
+ else if (INTEGERP (idx))
+ /* Clobber the high bits that can be present on a machine
+ with more than 24 bits of integer. */
+ XFASTINT (idx) = XINT (idx) & ((1 << 24) - 1);
{
Lisp_Object tail;
be put in the canonical order. */
if (XTYPE (idx) == Lisp_Symbol)
idx = reorder_modifiers (idx);
-
+ else if (INTEGERP (idx))
+ /* Clobber the high bits that can be present on a machine
+ with more than 24 bits of integer. */
+ XFASTINT (idx) = XINT (idx) & ((1 << 24) - 1);
/* Scan the keymap for a binding of idx. */
{