Mercurial > emacs
changeset 11682:7eda6c1f3d5e
(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.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 04 May 1995 16:27:01 +0000 |
parents | a5b15cd1b5ec |
children | 355d0b23a080 |
files | src/keyboard.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keyboard.c Thu May 04 16:20:15 1995 +0000 +++ b/src/keyboard.c Thu May 04 16:27:01 1995 +0000 @@ -3568,7 +3568,7 @@ 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 @@ 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 @@ 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 @@ if (modifiers & shift_modifier) { modifiers &= ~shift_modifier; - key = apply_modifiers (make_number (modifiers), + key = apply_modifiers (modifiers, XCONS (breakdown)->car); keybuf[t - 1] = key;