Mercurial > emacs
changeset 17932:78a128b99e05
(access_keymap, store_in_keymap): Don't look in a char-table
for a character that has modifier bits.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 23 May 1997 17:33:32 +0000 |
parents | 7e6a77408020 |
children | a7579056d62e |
files | src/keymap.c |
diffstat | 1 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keymap.c Fri May 23 17:32:41 1997 +0000 +++ b/src/keymap.c Fri May 23 17:33:32 1997 +0000 @@ -484,7 +484,13 @@ } else if (CHAR_TABLE_P (binding)) { - if (NATNUMP (idx)) + /* Character codes with modifiers + are not included in a char-table. + All character codes without modifiers are included. */ + if (NATNUMP (idx) + && ! (XFASTINT (idx) + & (CHAR_ALT | CHAR_SUPER | CHAR_HYPER + | CHAR_SHIFT | CHAR_CTL | CHAR_META))) { val = Faref (binding, idx); if (noprefix && CONSP (val) && EQ (XCONS (val)->car, Qkeymap)) @@ -629,7 +635,13 @@ } else if (CHAR_TABLE_P (elt)) { - if (NATNUMP (idx)) + /* Character codes with modifiers + are not included in a char-table. + All character codes without modifiers are included. */ + if (NATNUMP (idx) + && ! (XFASTINT (idx) + & (CHAR_ALT | CHAR_SUPER | CHAR_HYPER + | CHAR_SHIFT | CHAR_CTL | CHAR_META))) { Faset (elt, idx, def); return def;