diff options
author | Richard M. Stallman <rms@gnu.org> | 1995-05-04 16:27:01 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1995-05-04 16:27:01 +0000 |
commit | eb752782cf8f248b607436d8a15948e22d2bc6d9 (patch) | |
tree | 3c41e8586bc9bd5c89ad1060021cdfac7c27e601 /src/keyboard.c | |
parent | 01a166fffee864136b603f6e38315bc89e68a796 (diff) | |
download | emacs-eb752782cf8f248b607436d8a15948e22d2bc6d9.tar.gz |
(parse_modifiers, apply_modifiers): Don't assume 32-bit EMACS_INT.
(parse_modifiers): modifiers is an int, not an EMACS_INT.
(read_key_sequence): Pass modifiers as int, not EMACS_INT.
Diffstat (limited to 'src/keyboard.c')
-rw-r--r-- | src/keyboard.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 3160a380fac..a387edb3e06 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -3568,7 +3568,7 @@ parse_modifiers (symbol) else { int end; - EMACS_INT modifiers = parse_modifiers_uncached (symbol, &end); + int modifiers = parse_modifiers_uncached (symbol, &end); Lisp_Object unmodified; Lisp_Object mask; @@ -3576,7 +3576,7 @@ parse_modifiers (symbol) XSYMBOL (symbol)->name->size - end), Qnil); - if (modifiers & ~((1<<VALBITS) - 1)) + if (modifiers & ~(((EMACS_INT)1 << VALBITS) - 1)) abort (); XSETFASTINT (mask, modifiers); elements = Fcons (unmodified, Fcons (mask, Qnil)); @@ -3613,7 +3613,7 @@ apply_modifiers (modifiers, base) Lisp_Object cache, index, entry, new_symbol; /* Mask out upper bits. We don't know where this value's been. */ - modifiers &= (1<<VALBITS) - 1; + modifiers &= ((EMACS_INT)1 << VALBITS) - 1; /* The click modifier never figures into cache indices. */ cache = Fget (base, Qmodifier_cache); @@ -5845,7 +5845,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last, if (modifiers & shift_modifier) { modifiers &= ~shift_modifier; - key = apply_modifiers (make_number (modifiers), + key = apply_modifiers (modifiers, XCONS (breakdown)->car); keybuf[t - 1] = key; |