mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-31 17:30:54 -08:00
(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.
This commit is contained in:
parent
5a10939a7d
commit
ec0faad266
1 changed files with 4 additions and 4 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue