]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bugs with inappropriate mixing of Lisp_Object with int.
authorRichard M. Stallman <rms@gnu.org>
Fri, 4 Jul 1997 20:44:52 +0000 (20:44 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 4 Jul 1997 20:44:52 +0000 (20:44 +0000)
22 files changed:
src/buffer.c
src/casefiddle.c
src/casetab.c
src/category.c
src/category.h
src/ccl.c
src/coding.c
src/config.in
src/editfns.c
src/fileio.c
src/fns.c
src/indent.c
src/intervals.c
src/intervals.h
src/keymap.c
src/lisp.h
src/minibuf.c
src/print.c
src/syntax.c
src/syntax.h
src/sysdep.c
src/textprop.c

index 7b33c71daef03b185f32dbdd6478ead2792c2e0d..42f6ca1582c41802adc0ad6c2edd80b66b08d16b 100644 (file)
@@ -2789,6 +2789,8 @@ modify_overlay (buf, start, end)
 }
 
 \f\f
+Lisp_Object Fdelete_overlay ();
+
 DEFUN ("move-overlay", Fmove_overlay, Smove_overlay, 3, 4, 0,
   "Set the endpoints of OVERLAY to BEG and END in BUFFER.\n\
 If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now.\n\
@@ -2839,13 +2841,13 @@ buffer.")
       /* Redisplay where the overlay was.  */
       if (!NILP (obuffer))
        {
-         Lisp_Object o_beg;
-         Lisp_Object o_end;
+         int o_beg;
+         int o_end;
 
          o_beg = OVERLAY_POSITION (OVERLAY_START (overlay));
          o_end = OVERLAY_POSITION (OVERLAY_END (overlay));
 
-         modify_overlay (ob, XINT (o_beg), XINT (o_end));
+         modify_overlay (ob, o_beg, o_end);
        }
 
       /* Redisplay where the overlay is going to be.  */
@@ -2854,22 +2856,21 @@ buffer.")
   else
     /* Redisplay the area the overlay has just left, or just enclosed.  */
     {
-      Lisp_Object o_beg;
-      Lisp_Object o_end;
+      int o_beg, o_end;
       int change_beg, change_end;
 
       o_beg = OVERLAY_POSITION (OVERLAY_START (overlay));
       o_end = OVERLAY_POSITION (OVERLAY_END (overlay));
 
-      if (XINT (o_beg) == XINT (beg))
-       modify_overlay (b, XINT (o_end), XINT (end));
-      else if (XINT (o_end) == XINT (end))
-       modify_overlay (b, XINT (o_beg), XINT (beg));
+      if (o_beg == XINT (beg))
+       modify_overlay (b, o_end, XINT (end));
+      else if (o_end == XINT (end))
+       modify_overlay (b, o_beg, XINT (beg));
       else
        {
-         if (XINT (beg) < XINT (o_beg)) o_beg = beg;
-         if (XINT (end) > XINT (o_end)) o_end = end;
-         modify_overlay (b, XINT (o_beg), XINT (o_end));
+         if (XINT (beg) < o_beg) o_beg = XINT (beg);
+         if (XINT (end) > o_end) o_end = XINT (end);
+         modify_overlay (b, o_beg, o_end);
        }
     }
 
index 90d09b46ac4564e0f279ba8e13db8aa144fa3eac..dfa2981eb04c9790600313c75ebbe15fce02f671 100644 (file)
@@ -47,12 +47,12 @@ casify_object (flag, obj)
     {
       if (INTEGERP (obj))
        {
-         c = DOWNCASE (obj);
+         c = DOWNCASE (XFASTINT (obj));
          if (inword)
            XSETFASTINT (obj, c);
          else if (c == XFASTINT (obj))
            {
-             c = UPCASE1 (obj);
+             c = UPCASE1 (XFASTINT (obj));
              XSETFASTINT (obj, c);
            }
          return obj;
index 29a237cb94837a78229c29003960edca08ec5c73..a933be69c7d8f870f640f3732d275c2f6a96ecc9 100644 (file)
@@ -31,7 +31,8 @@ Lisp_Object Vascii_canon_table, Vascii_eqv_table;
 
 /* Used as a temporary in DOWNCASE and other macros in lisp.h.  No
    need to mark it, since it is used only very temporarily.  */
-Lisp_Object case_temp1, case_temp2;
+int case_temp1;
+Lisp_Object case_temp2;
 
 static void set_canon ();
 static void set_identity ();
@@ -207,7 +208,7 @@ static void
 shuffle (table, c, elt)
      Lisp_Object table, c, elt;
 {
-  if (NATNUMP (elt) && c != elt)
+  if (NATNUMP (elt) && !EQ (c, elt))
     {
       Lisp_Object tem = Faref (table, elt);
       Faset (table, elt, c);
index 81ef3dcd622975398e37757749a0439d81311c33..f63b65e1301d568fd217b7e2cf4e3733c6dc2a16 100644 (file)
@@ -574,8 +574,8 @@ word_boundary_p (c1, c2)
       if (CONSP (elt)
          && CATEGORYP (XCONS (elt)->car)
          && CATEGORYP (XCONS (elt)->cdr)
-         && CATEGORY_MEMBER (XCONS (elt)->car, category_set1)
-         && CATEGORY_MEMBER (XCONS (elt)->cdr, category_set2))
+         && CATEGORY_MEMBER (XFASTINT (XCONS (elt)->car), category_set1)
+         && CATEGORY_MEMBER (XFASTINT (XCONS (elt)->cdr), category_set2))
        return !default_result;
     }
   return default_result;
index 0421ed145c99dca17368b3ed942f06e0a8fe5c2e..f646f9ddfcba1a3f5d0c6aae6448359d515b8892 100644 (file)
@@ -79,9 +79,8 @@ Boston, MA 02111-1307, USA.  */
 /* Return 1 if CATEGORY_SET contains CATEGORY, else return 0.
    The faster version of `!NILP (Faref (category_set, category))'.  */
 #define CATEGORY_MEMBER(category, category_set)                                \
-  (!NILP (category_set)                                                        \
-   && (XCATEGORY_SET (category_set)->data[XFASTINT (category) / 8]     \
-       & (1 << (XFASTINT (category) % 8))))
+  (XCATEGORY_SET (category_set)->data[(category) / 8]                  \
+   & (1 << ((category) % 8)))
 
 /* Temporary internal variable used in macro CHAR_HAS_CATEGORY.  */
 extern Lisp_Object _temp_category_set;
@@ -106,14 +105,16 @@ extern Lisp_Object _temp_category_set;
         table = XCHAR_TABLE (table)->parent;                                \
      else                                                                   \
        temp = Faref (table,                                                 \
-                    COMPOSITE_CHAR_P (c) ? cmpchar_component (c, 0) : (c)); \
+                    make_number (COMPOSITE_CHAR_P (c)                       \
+                                 ? cmpchar_component (c, 0) : (c)));        \
      temp; })
 #else
 #define CATEGORY_SET(c)                                                             \
   ((c) < CHAR_TABLE_SINGLE_BYTE_SLOTS                                       \
    ? Faref (current_buffer->category_table, make_number ((unsigned char) c)) \
    : Faref (current_buffer->category_table,                                 \
-                  COMPOSITE_CHAR_P (c) ? cmpchar_component ((c), 0) : (c)))
+           make_number (COMPOSITE_CHAR_P (c)                                \
+                        ? cmpchar_component ((c), 0) : (c))))
 #endif   
 
 /* Return the doc string of CATEGORY in category table TABLE.  */
index 8b10e6fce0aaf46c40450a751715cc84864e1edd..1d34418895e126fb34c2d629aa91919a0cabaa76 100644 (file)
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -654,7 +654,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
 
        case CCL_WriteArrayReadJump: /* A--D--D--R--E--S--S-rrrXXXXX */
          i = reg[rrr];
-         j = ccl_prog[ic];
+         j = XINT (ccl_prog[ic]);
          if ((unsigned int) i < j)
            {
              i = XINT (ccl_prog[ic + 1 + i]);
index b04912ceba6c89b1c998a70e664f607fdb4bc5da..75e4980ec1b32e8a0d31618b53c51722f044289a 100644 (file)
@@ -702,7 +702,9 @@ detect_coding_iso2022 (src, src_end)
 /* Set designation state into CODING.  */
 #define DECODE_DESIGNATION(reg, dimension, chars, final_char)          \
   do {                                                                 \
-    int charset = ISO_CHARSET_TABLE (dimension, chars, final_char);    \
+    int charset = ISO_CHARSET_TABLE (make_number (dimension),          \
+                                    make_number (chars),               \
+                                    make_number (final_char));         \
     if (charset >= 0)                                                  \
       {                                                                        \
         if (coding->direction == 1                                     \
@@ -3515,9 +3517,10 @@ which is a list of all the arguments given to `find-coding-system'.")
        || (EQ (operation, Qopen_network_stream) && INTEGERP (target))))
     error ("Invalid %dth argument", XINT (target_idx) + 1);
 
-  chain = (operation == Qinsert_file_contents || operation == Qwrite_region
+  chain = ((EQ (operation, Qinsert_file_contents)
+           || EQ (operation, Qwrite_region))
           ? Vfile_coding_system_alist
-          : (operation == Qopen_network_stream
+          : (EQ (operation, Qopen_network_stream)
              ? Vnetwork_coding_system_alist
              : Vprocess_coding_system_alist));
   if (NILP (chain))
index ae403b2199957c8e9c631416f66ecc698783d362..c5ed60c811bb33a89283346213e8f5d6a0833fa7 100644 (file)
@@ -324,6 +324,7 @@ Boston, MA 02111-1307, USA.  */
 #ifdef emacs /* Don't do this for lib-src.  */
 /* Tell regex.c to use a type compatible with Emacs.  */
 #define RE_TRANSLATE_TYPE Lisp_Object *
+#define RE_TRANSLATE(TBL, C) XINT ((TBL)[C])
 #endif
 
 /* Avoid link-time collision with system mktime if we will use our own.  */
index 7e663cccb276359e33348605d6a98da2f32359e6..72a954b8986da4b7f7ef8849bba964d4f170ef3f 100644 (file)
@@ -981,7 +981,7 @@ If you want them to stand for years in this century, you must do that yourself."
       char *tzstring;
       char **oldenv = environ, **newenv;
       
-      if (zone == Qt)
+      if (EQ (zone, Qt))
        tzstring = "UTC0";
       else if (STRINGP (zone))
        tzstring = (char *) XSTRING (zone)->data;
@@ -1146,7 +1146,7 @@ If TZ is t, use Universal Time.")
 
   if (NILP (tz))
     tzstring = 0;
-  else if (tz == Qt)
+  else if (EQ (tz, Qt))
     tzstring = "UTC0";
   else
     {
index f59df5fce979e41ce6977fc64ee33325420e56be..c397cd0f4740c0c013996fc04d616b068fdf9dc1 100644 (file)
@@ -3726,6 +3726,7 @@ This does code conversion according to the value of\n\
 }
 \f
 static Lisp_Object build_annotations ();
+extern Lisp_Object Ffile_locked_p ();
 
 /* If build_annotations switched buffers, switch back to BUF.
    Kill the temporary buffer that was selected in the meantime.
@@ -5065,7 +5066,7 @@ The value should be either ?/ or ?\\ (any other value is treated as ?\\).\n\
 This variable affects the built-in functions only on Windows,\n\
 on other platforms, it is initialized so that Lisp code can find out\n\
 what the normal separator is.");
-  Vdirectory_sep_char = '/';
+  XSETFASTINT (Vdirectory_sep_char, '/');
 
   DEFVAR_LISP ("file-name-handler-alist", &Vfile_name_handler_alist,
     "*Alist of elements (REGEXP . HANDLER) for file names handled specially.\n\
index 473f9ed17d6ab55c024b7596a984be917aeceeaa..6da0d354b5b604dfa6d69472bf3a2cff65133f25 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -584,7 +584,7 @@ This function allows vectors as well as strings.")
     size = XVECTOR (string)->size;
 
   if (NILP (to))
-    to = size;
+    XSETINT (to, size);
   else
     CHECK_NUMBER (to, 2);
 
@@ -1185,6 +1185,8 @@ internal_equal (o1, o2, depth)
   return 0;
 }
 \f
+extern Lisp_Object Fmake_char_internal ();
+
 DEFUN ("fillarray", Ffillarray, Sfillarray, 2, 2, 0,
   "Store each element of ARRAY with ITEM.\n\
 ARRAY is a vector, string, char-table, or bool-vector.")
index e2c7f12d29dbaa534c2a5b65fe41bcd279648d82..ab82f8212b468032fecba86a5380351d580989ff 100644 (file)
@@ -208,8 +208,9 @@ skip_invisible (pos, next_boundary_p, to, window)
      int to;
      Lisp_Object window;
 {
-  Lisp_Object prop, position, end, overlay_limit, proplimit;
+  Lisp_Object prop, position, overlay_limit, proplimit;
   Lisp_Object buffer;
+  int end;
 
   XSETFASTINT (position, pos);
   XSETBUFFER (buffer, current_buffer);
@@ -239,8 +240,8 @@ skip_invisible (pos, next_boundary_p, to, window)
       /* No matter what. don't go past next overlay change.  */
       if (XFASTINT (overlay_limit) < XFASTINT (proplimit))
        proplimit = overlay_limit;
-      end = Fnext_single_property_change (position, Qinvisible,
-                                         buffer, proplimit);
+      end = XFASTINT (Fnext_single_property_change (position, Qinvisible,
+                                                   buffer, proplimit));
       /* Don't put the boundary in the middle of multibyte form if
          there is no actual property change.  */
       if (end == pos + 100
@@ -248,7 +249,7 @@ skip_invisible (pos, next_boundary_p, to, window)
          && end < ZV)
        while (pos < end && !CHAR_HEAD_P (POS_ADDR (end)))
          end--;
-      *next_boundary_p = XFASTINT (end);
+      *next_boundary_p = end;
     }
   /* if the `invisible' property is set, we can skip to
      the next property change */
index fa23272160bb3b53bc243f0f1b77f18c4528d8c8..995b1cfb2ebe630ba1b61891d48871bbe35d364e 100644 (file)
@@ -85,7 +85,7 @@ create_root_interval (parent)
       XSTRING (parent)->intervals = new;
     }
 
-  new->parent = (INTERVAL) parent;
+  new->parent = (INTERVAL) XFASTINT (parent);
   new->position = 1;
 
   return new;
@@ -411,7 +411,7 @@ balance_possible_root_interval (interval)
   if (interval->parent == NULL_INTERVAL)
     return interval;
 
-  parent = (Lisp_Object) (interval->parent);
+  XSETFASTINT (parent, (EMACS_INT) interval->parent);
   interval = balance_an_interval (interval);
 
   if (BUFFERP (parent))
@@ -1130,10 +1130,10 @@ delete_interval (i)
   if (ROOT_INTERVAL_P (i))
     {
       Lisp_Object owner;
-      owner = (Lisp_Object) i->parent;
+      XSETFASTINT (owner, (EMACS_INT) i->parent);
       parent = delete_node (i);
       if (! NULL_INTERVAL_P (parent))
-       parent->parent = (INTERVAL) owner;
+       parent->parent = (INTERVAL) XFASTINT (owner);
 
       if (BUFFERP (owner))
        BUF_INTERVALS (XBUFFER (owner)) = parent;
@@ -1868,7 +1868,7 @@ move_if_not_intangible (position)
   if (! NILP (Vinhibit_point_motion_hooks))
     /* If intangible is inhibited, always move point to POSITION.  */
     ;
-  else if (PT < position && pos < ZV)
+  else if (PT < position && XINT (pos) < ZV)
     {
       /* We want to move forward, so check the text before POSITION.  */
 
@@ -1884,7 +1884,7 @@ move_if_not_intangible (position)
                      intangible_propval))
          pos = Fprevious_char_property_change (pos, Qnil);
     }
-  else if (pos > BEGV)
+  else if (XINT (pos) > BEGV)
     {
       /* We want to move backward, so check the text after POSITION.  */
 
@@ -2010,7 +2010,7 @@ copy_intervals_to_string (string, buffer, position, length)
   if (NULL_INTERVAL_P (interval_copy))
     return;
 
-  interval_copy->parent = (INTERVAL) string;
+  interval_copy->parent = (INTERVAL) XFASTINT (string);
   XSTRING (string)->intervals = interval_copy;
 }
 \f
index d19a92a46083245c6589db318a3bab387bb34b69..aa914ceff984e5e6f0664aa4b0a6cc08cd1e4406 100644 (file)
@@ -37,9 +37,15 @@ Boston, MA 02111-1307, USA.  */
 /* True if an interval pointer is null, or is a Lisp_Buffer or
    Lisp_String pointer (meaning it points to the owner of this
    interval tree). */
+#ifdef NO_UNION_TYPE
 #define NULL_INTERVAL_P(i) ((i) == NULL_INTERVAL           \
                            || BUFFERP ((Lisp_Object)(i)) \
                            || STRINGP ((Lisp_Object)(i)))
+#else
+#define NULL_INTERVAL_P(i) ((i) == NULL_INTERVAL           \
+                           || BUFFERP ((Lisp_Object){(EMACS_INT)(i)}) \
+                           || STRINGP ((Lisp_Object){(EMACS_INT)(i)}))
+#endif
 
 /* True if this interval has no right child. */
 #define NULL_RIGHT_CHILD(i) ((i)->right == NULL_INTERVAL)
index ef7e90df53abdf799b8ffc1c678534c112cf8a99..5d18cf9349db8be61aed747aded7cd02f5fb4a2c 100644 (file)
@@ -538,8 +538,7 @@ get_keyelt (object, autoload)
          key = Fcdr (object);
          if (INTEGERP (key) && (XINT (key) & meta_modifier))
            {
-             object = access_keymap (map, make_number (meta_prefix_char),
-                                     0, 0);
+             object = access_keymap (map, meta_prefix_char, 0, 0);
              map = get_keymap_1 (object, 0, autoload);
              object = access_keymap (map,
                                      make_number (XINT (key) & ~meta_modifier),
@@ -1515,8 +1514,8 @@ then the value includes only maps for prefixes that start with PREFIX.")
 
                          element = thisseq;
                          tem = Fvconcat (1, &element);
-                         XVECTOR (tem)->contents[XINT (last)]
-                           = XINT (elt) | meta_modifier;
+                         XSETFASTINT (XVECTOR (tem)->contents[XINT (last)],
+                                      XINT (elt) | meta_modifier);
 
                          /* This new sequence is the same length as
                             thisseq, so stick it in the list right
@@ -2746,7 +2745,7 @@ describe_vector (vector, elt_prefix, elt_describer,
   int starting_i;
 
   if (indices == 0)
-    indices = (Lisp_Object *) alloca (3 * sizeof (Lisp_Object));
+    indices = (int *) alloca (3 * sizeof (int));
 
   definition = Qnil;
 
index f104af63794e2ab0a09e231affe098e5ea6468e9..ecfc0b657c2c8bd4d1da285f83f4d4c947b17764 100644 (file)
@@ -608,11 +608,11 @@ struct Lisp_Vector
    and 8-bit Europeans characters.  For these characters, do not check
    validity of CT.  Do not follow parent.  */
 #define CHAR_TABLE_REF(CT, IDX)                                \
-  (XFASTINT (IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS       \
-   ? (!NILP (XCHAR_TABLE (CT)->contents[XFASTINT (IDX)])\
-      ? XCHAR_TABLE (CT)->contents[XFASTINT (IDX)]     \
+  ((IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS                        \
+   ? (!NILP (XCHAR_TABLE (CT)->contents[IDX])          \
+      ? XCHAR_TABLE (CT)->contents[IDX]                        \
       : XCHAR_TABLE (CT)->defalt)                      \
-   : Faref (CT, IDX))
+   : Faref (CT, make_number (IDX)))
 
 /* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and
    8-bit Europeans characters.  Do not check validity of CT.  */
@@ -1314,7 +1314,8 @@ extern char *stack_bottom;
 #define QUITP (!NILP (Vquit_flag) && NILP (Vinhibit_quit))
 \f
 /* Variables used locally in the following case handling macros.  */
-extern Lisp_Object case_temp1, case_temp2;
+extern int case_temp1;
+extern Lisp_Object case_temp2;
 
 /* Current buffer's map from characters to lower-case characters.  */
 
@@ -1484,6 +1485,7 @@ extern Lisp_Object Ffset (), Fsetplist ();
 extern Lisp_Object Fsymbol_value (), find_symbol_value (), Fset ();
 extern Lisp_Object Fdefault_value (), Fset_default (), Fdefault_boundp ();
 extern Lisp_Object Fmake_local_variable ();
+extern Lisp_Object Flocal_variable_if_set_p ();
 
 extern Lisp_Object Faref (), Faset ();
 
@@ -1517,6 +1519,7 @@ extern Lisp_Object Fend_of_line (), Fforward_char (), Fforward_line ();
 /* Defined in coding.c */
 extern Lisp_Object Fcoding_system_p (), Fcheck_coding_system ();
 extern Lisp_Object Fread_coding_system (), Fread_non_nil_coding_system ();
+extern Lisp_Object Ffind_coding_system ();
 
 /* Defined in syntax.c */
 extern Lisp_Object Fforward_word ();
@@ -1539,6 +1542,8 @@ extern Lisp_Object assq_no_quit ();
 extern Lisp_Object Fcopy_alist ();
 extern Lisp_Object Fplist_get ();
 extern Lisp_Object Fset_char_table_parent ();
+extern Lisp_Object Fchar_table_extra_slot ();
+extern Lisp_Object Frassoc ();
 
 /* Defined in insdel.c */
 extern void move_gap ();
@@ -1675,6 +1680,7 @@ extern Lisp_Object save_excursion_save (), save_restriction_save ();
 extern Lisp_Object save_excursion_restore (), save_restriction_restore ();
 extern Lisp_Object Fchar_to_string ();
 extern Lisp_Object Fdelete_region (), Fnarrow_to_region (), Fwiden ();
+extern Lisp_Object Fuser_login_name (), Fsystem_name ();
 
 /* defined in buffer.c */
 extern Lisp_Object Foverlay_start (), Foverlay_end ();
@@ -1695,6 +1701,7 @@ extern Lisp_Object Ferase_buffer ();
 extern Lisp_Object Qoverlayp;
 extern Lisp_Object get_truename_buffer ();
 extern struct buffer *all_buffers;
+extern Lisp_Object Fprevious_overlay_change ();
 
 /* defined in marker.c */
 
@@ -1719,6 +1726,7 @@ extern Lisp_Object Ffile_accessible_directory_p ();
 extern Lisp_Object Funhandled_file_name_directory ();
 extern Lisp_Object Ffile_directory_p ();
 extern Lisp_Object Fwrite_region ();
+extern Lisp_Object Ffile_readable_p (), Ffile_executable_p ();
 
 /* Defined in abbrev.c */
 
@@ -1788,6 +1796,7 @@ extern void describe_map_tree ();
 
 /* defined in indent.c */
 extern Lisp_Object Fvertical_motion (), Findent_to (), Fcurrent_column ();
+extern Lisp_Object Fmove_to_column ();
 
 /* defined in window.c */
 extern Lisp_Object Qwindowp, Qwindow_live_p;
@@ -1838,6 +1847,7 @@ extern Lisp_Object Fset_frame_size ();
 extern Lisp_Object Fset_frame_position ();
 extern Lisp_Object Fraise_frame ();
 extern Lisp_Object Fredirect_frame_focus ();
+extern Lisp_Object frame_buffer_list ();
 
 /* defined in emacs.c */
 extern Lisp_Object decode_env_path ();
@@ -1891,6 +1901,8 @@ extern Lisp_Object Fprevious_single_property_change ();
 extern Lisp_Object Fget_text_property (), Fput_text_property ();
 extern Lisp_Object Fset_text_properties ();
 extern Lisp_Object Ftext_property_not_all ();
+extern Lisp_Object Fprevious_char_property_change ();
+extern Lisp_Object Fnext_char_property_change ();
 
 /* defined in intervals.c */
 extern Lisp_Object get_local_map ();
index a4dd9379e0a28a81876d4c0dea3a5a2b0727cf84..4a2c805f1706f41e06fea813507e96dc562f65e3 100644 (file)
@@ -956,7 +956,7 @@ scmp (s1, s2, len)
 
   if (completion_ignore_case)
     {
-      while (l && EQ (DOWNCASE (*s1++), DOWNCASE (*s2++)))
+      while (l && DOWNCASE (*s1++) == DOWNCASE (*s2++))
        l--;
     }
   else
index 6ac2b25745d83583bd38348166a32d45c0fa3010..b399d63c0919928d2f7470f1ca774f77fb842898 100644 (file)
@@ -1063,7 +1063,7 @@ print (obj, printcharfun, escapeflag)
                else
                  {
                    if (CONSP (printed_gensyms))
-                     XSETFASTINT (tem, XCDR (XCAR (printed_gensyms)) + 1);
+                     XSETFASTINT (tem, XFASTINT (XCDR (XCAR (printed_gensyms))) + 1);
                    else
                      XSETFASTINT (tem, 1);
                    printed_gensyms = Fcons (Fcons (obj, tem), printed_gensyms);
index 4a60e1e02672254ec700073850d51e6dda7e19bd..f39b356d731eee4795785303455aca56f981a7a2 100644 (file)
@@ -190,7 +190,7 @@ update_syntax_table (pos, count, init, object)
 
   gl_state.current_syntax_table = tmp_table;
   gl_state.old_prop = tmp_table;
-  if (Fsyntax_table_p (tmp_table) == Qt)
+  if (EQ (Fsyntax_table_p (tmp_table), Qt))
     {
       gl_state.use_global = 0;
     } 
@@ -665,7 +665,7 @@ DEFUN ("matching-paren", Fmatching_paren, Smatching_paren, 1, 1, 0,
   char_int = XINT (character);
   code = SYNTAX (char_int);
   if (code == Sopen || code == Sclose)
-    return make_number (SYNTAX_MATCH (char_int));
+    return SYNTAX_MATCH (char_int);
   return Qnil;
 }
 
@@ -735,7 +735,7 @@ DEFUN ("modify-syntax-entry", Fmodify_syntax_entry, Smodify_syntax_entry, 2, 3,
   p = XSTRING (newentry)->data;
   code = (enum syntaxcode) syntax_spec_code[*p++];
   if (((int) code & 0377) == 0377)
-    error ("invalid syntax description letter: %c", XINT (c));
+    error ("invalid syntax description letter: %c", p[-1]);
 
   if (code == Sinherit)
     {
index 61cb4fa9668e7593b9685ee18f48ffac604e232c..bcd90562d299f36892db2d1a63b2b923a2909595 100644 (file)
@@ -134,7 +134,7 @@ extern Lisp_Object syntax_parent_lookup ();
   ({ Lisp_Object temp;                                                 \
      temp = SYNTAX_ENTRY (c);                                          \
      (CONSP (temp)                                                     \
-      ? XINT (XCONS (temp)->cdr)                                       \
+      ? XCONS (temp)->cdr                                              \
       : Qnil); })
 #else
 #define SYNTAX(c)                                                      \
@@ -152,7 +152,7 @@ extern Lisp_Object syntax_parent_lookup ();
 #define SYNTAX_MATCH(c)                                                        \
   (syntax_temp = SYNTAX_ENTRY ((c)),                                   \
    (CONSP (syntax_temp)                                                        \
-    ? XINT (XCONS (syntax_temp)->cdr)                                  \
+    ? XCONS (syntax_temp)->cdr                                         \
     : Qnil))
 #endif
 
index 978e7f0f622b48ba9c82395c05e759b9053f3df3..8bde434f52db3e066691203dff6861cbd351670e 100644 (file)
@@ -1283,7 +1283,7 @@ init_sys_modes ()
       tty = old_tty;
 
 #if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS)
-      Vtty_erase_char = old_tty.main.c_cc[VERASE];
+      XSETINT (Vtty_erase_char, old_tty.main.c_cc[VERASE]);
 
 #ifdef DGUX
       /* This allows meta to be sent on 8th bit.  */
index 3fafc38d1294bf9b249998eb1a5815d04f8ffdb7..89e08076b9ac7a3c2e082e15f8c30728485526c5 100644 (file)
@@ -1739,13 +1739,11 @@ report_interval_modification (start, end)
      Lisp_Object start, end;
 {
   if (! NILP (interval_insert_behind_hooks))
-    call_mod_hooks (interval_insert_behind_hooks,
-                   make_number (start), make_number (end));
+    call_mod_hooks (interval_insert_behind_hooks, start, end);
   if (! NILP (interval_insert_in_front_hooks)
       && ! EQ (interval_insert_in_front_hooks,
               interval_insert_behind_hooks))
-    call_mod_hooks (interval_insert_in_front_hooks,
-                   make_number (start), make_number (end));
+    call_mod_hooks (interval_insert_in_front_hooks, start, end);
 }
 \f
 void