summaryrefslogtreecommitdiff
path: root/src/keyboard.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-05-04 16:27:01 +0000
committerRichard M. Stallman <rms@gnu.org>1995-05-04 16:27:01 +0000
commiteb752782cf8f248b607436d8a15948e22d2bc6d9 (patch)
tree3c41e8586bc9bd5c89ad1060021cdfac7c27e601 /src/keyboard.c
parent01a166fffee864136b603f6e38315bc89e68a796 (diff)
downloademacs-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.c8
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;