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;