589 |
/* Character codes with modifiers |
/* Character codes with modifiers |
590 |
are not included in a char-table. |
are not included in a char-table. |
591 |
All character codes without modifiers are included. */ |
All character codes without modifiers are included. */ |
592 |
if (NATNUMP (idx) |
if (NATNUMP (idx) && (XFASTINT (idx) & CHAR_MODIFIER_MASK) == 0) |
593 |
&& (XFASTINT (idx) & CHAR_MODIFIER_MASK) == 0) |
{ |
594 |
val = Faref (binding, idx); |
val = Faref (binding, idx); |
595 |
|
/* `nil' has a special meaning for char-tables, so |
596 |
|
we use something else to record an explicitly |
597 |
|
unbound entry. */ |
598 |
|
if (NILP (val)) |
599 |
|
val = Qunbound; |
600 |
|
} |
601 |
} |
} |
602 |
|
|
603 |
/* If we found a binding, clean it up and return it. */ |
/* If we found a binding, clean it up and return it. */ |
604 |
if (!EQ (val, Qunbound)) |
if (!EQ (val, Qunbound)) |
605 |
{ |
{ |
606 |
|
if (EQ (val, Qt)) |
607 |
|
/* A Qt binding is just like an explicit nil binding |
608 |
|
(i.e. it shadows any parent binding but not bindings in |
609 |
|
keymaps of lower precedence). */ |
610 |
|
val = Qnil; |
611 |
val = get_keyelt (val, autoload); |
val = get_keyelt (val, autoload); |
612 |
if (KEYMAPP (val)) |
if (KEYMAPP (val)) |
613 |
fix_submap_inheritance (map, idx, val); |
fix_submap_inheritance (map, idx, val); |
776 |
/* Character codes with modifiers |
/* Character codes with modifiers |
777 |
are not included in a char-table. |
are not included in a char-table. |
778 |
All character codes without modifiers are included. */ |
All character codes without modifiers are included. */ |
779 |
if (NATNUMP (idx) |
if (NATNUMP (idx) && !(XFASTINT (idx) & CHAR_MODIFIER_MASK)) |
|
&& ! (XFASTINT (idx) |
|
|
& (CHAR_ALT | CHAR_SUPER | CHAR_HYPER |
|
|
| CHAR_SHIFT | CHAR_CTL | CHAR_META))) |
|
780 |
{ |
{ |
781 |
Faset (elt, idx, def); |
Faset (elt, idx, |
782 |
|
/* `nil' has a special meaning for char-tables, so |
783 |
|
we use something else to record an explicitly |
784 |
|
unbound entry. */ |
785 |
|
NILP (def) ? Qt : def); |
786 |
return def; |
return def; |
787 |
} |
} |
788 |
insertion_point = tail; |
insertion_point = tail; |