emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101565: Fix use of int instead of EM


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101565: Fix use of int instead of EMACS_INT in editfns.c.
Date: Thu, 23 Sep 2010 13:10:21 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101565
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Thu 2010-09-23 13:10:21 -0400
message:
  Fix use of int instead of EMACS_INT in editfns.c.
  
   editfns.c (transpose_markers, update_buffer_properties)
   (buildmark, clip_to_bounds, Fgoto_char, overlays_around)
   (get_pos_property, Fconstrain_to_field)
   (Fline_beginning_position, Fline_end_position, Fprevious_char)
   (Fchar_after, Fchar_before, Finsert_char)
   (Finsert_buffer_substring, Fcompare_buffer_substrings)
   (Fsubst_char_in_region, Fformat, Ftranspose_regions): Use
   EMACS_INT for buffer and string position variables.
   lisp.h (clip_to_bounds): Adjust prototype.
modified:
  src/ChangeLog
  src/editfns.c
  src/lisp.h
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-09-23 15:46:54 +0000
+++ b/src/ChangeLog     2010-09-23 17:10:21 +0000
@@ -1,5 +1,16 @@
 2010-09-23  Eli Zaretskii  <address@hidden>
 
+       * editfns.c (transpose_markers, update_buffer_properties)
+       (buildmark, clip_to_bounds, Fgoto_char, overlays_around)
+       (get_pos_property, Fconstrain_to_field)
+       (Fline_beginning_position, Fline_end_position, Fprevious_char)
+       (Fchar_after, Fchar_before, Finsert_char)
+       (Finsert_buffer_substring, Fcompare_buffer_substrings)
+       (Fsubst_char_in_region, Fformat, Ftranspose_regions): Use
+       EMACS_INT for buffer and string position variables.
+
+       * lisp.h (clip_to_bounds): Adjust prototype.
+
        * intervals.c (traverse_intervals, rotate_right, rotate_left)
        (balance_an_interval, split_interval_right, split_interval_left)
        (find_interval, next_interval, update_interval)

=== modified file 'src/editfns.c'
--- a/src/editfns.c     2010-09-23 14:32:38 +0000
+++ b/src/editfns.c     2010-09-23 17:10:21 +0000
@@ -96,7 +96,7 @@
 static int tm_diff (struct tm *, struct tm *);
 static void find_field (Lisp_Object, Lisp_Object, Lisp_Object,
                        EMACS_INT *, Lisp_Object, EMACS_INT *);
-static void update_buffer_properties (int, int);
+static void update_buffer_properties (EMACS_INT, EMACS_INT);
 static Lisp_Object region_limit (int);
 static size_t emacs_memftimeu (char *, size_t, const char *,
                                size_t, const struct tm *, int);
@@ -107,7 +107,8 @@
                                     int, int, Lisp_Object *);
 static Lisp_Object subst_char_in_region_unwind (Lisp_Object);
 static Lisp_Object subst_char_in_region_unwind_1 (Lisp_Object);
-static void transpose_markers (int, int, int, int, int, int, int, int);
+static void transpose_markers (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT,
+                              EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT);
 
 Lisp_Object Vbuffer_access_fontify_functions;
 Lisp_Object Qbuffer_access_fontify_functions;
@@ -246,7 +247,7 @@
 }
 
 static Lisp_Object
-buildmark (int charpos, int bytepos)
+buildmark (EMACS_INT charpos, EMACS_INT bytepos)
 {
   register Lisp_Object mark;
   mark = Fmake_marker ();
@@ -272,7 +273,7 @@
 }
 
 int
-clip_to_bounds (int lower, int num, int upper)
+clip_to_bounds (EMACS_INT lower, EMACS_INT num, EMACS_INT upper)
 {
   if (num < lower)
     return lower;
@@ -289,7 +290,7 @@
 The return value is POSITION.  */)
   (register Lisp_Object position)
 {
-  int pos;
+  EMACS_INT pos;
 
   if (MARKERP (position)
       && current_buffer == XMARKER (position)->buffer)
@@ -365,11 +366,11 @@
    of length LEN.  */
 
 static int
-overlays_around (int pos, Lisp_Object *vec, int len)
+overlays_around (EMACS_INT pos, Lisp_Object *vec, int len)
 {
   Lisp_Object overlay, start, end;
   struct Lisp_Overlay *tail;
-  int startpos, endpos;
+  EMACS_INT startpos, endpos;
   int idx = 0;
 
   for (tail = current_buffer->overlays_before; tail; tail = tail->next)
@@ -437,7 +438,7 @@
     return Fget_text_property (position, prop, object);
   else
     {
-      int posn = XINT (position);
+      EMACS_INT posn = XINT (position);
       int noverlays;
       Lisp_Object *overlay_vec, tem;
       struct buffer *obuf = current_buffer;
@@ -723,7 +724,7 @@
   (Lisp_Object new_pos, Lisp_Object old_pos, Lisp_Object escape_from_edge, 
Lisp_Object only_in_line, Lisp_Object inhibit_capture_property)
 {
   /* If non-zero, then the original point, before re-positioning.  */
-  int orig_point = 0;
+  EMACS_INT orig_point = 0;
   int fwd;
   Lisp_Object prev_old, prev_new;
 
@@ -820,7 +821,7 @@
 This function does not move point.  */)
   (Lisp_Object n)
 {
-  int orig, orig_byte, end;
+  EMACS_INT orig, orig_byte, end;
   int count = SPECPDL_INDEX ();
   specbind (Qinhibit_point_motion_hooks, Qt);
 
@@ -861,8 +862,8 @@
 This function does not move point.  */)
   (Lisp_Object n)
 {
-  int end_pos;
-  int orig = PT;
+  EMACS_INT end_pos;
+  EMACS_INT orig = PT;
 
   if (NILP (n))
     XSETFASTINT (n, 1);
@@ -1134,7 +1135,7 @@
     XSETFASTINT (temp, 0);
   else if (!NILP (current_buffer->enable_multibyte_characters))
     {
-      int pos = PT_BYTE;
+      EMACS_INT pos = PT_BYTE;
       DEC_POS (pos);
       XSETFASTINT (temp, FETCH_CHAR (pos));
     }
@@ -1188,7 +1189,7 @@
 If POS is out of range, the value is nil.  */)
   (Lisp_Object pos)
 {
-  register int pos_byte;
+  register EMACS_INT pos_byte;
 
   if (NILP (pos))
     {
@@ -1221,7 +1222,7 @@
   (Lisp_Object pos)
 {
   register Lisp_Object val;
-  register int pos_byte;
+  register EMACS_INT pos_byte;
 
   if (NILP (pos))
     {
@@ -2270,7 +2271,8 @@
 {
   register unsigned char *string;
   register int strlen;
-  register int i, n;
+  register int i;
+  register EMACS_INT n;
   int len;
   unsigned char str[MAX_MULTIBYTE_LENGTH];
 
@@ -2281,6 +2283,8 @@
     len = CHAR_STRING (XFASTINT (character), str);
   else
     str[0] = XFASTINT (character), len = 1;
+  if (MOST_POSITIVE_FIXNUM / len < XINT (count))
+    error ("Maximum buffer size would be exceeded");
   n = XINT (count) * len;
   if (n <= 0)
     return Qnil;
@@ -2404,7 +2408,7 @@
    in the current buffer, if necessary.  */
 
 static void
-update_buffer_properties (int start, int end)
+update_buffer_properties (EMACS_INT start, EMACS_INT end)
 {
   /* If this buffer has some access functions,
      call them, specifying the range of the buffer being accessed.  */
@@ -2485,7 +2489,7 @@
 They default to the values of (point-min) and (point-max) in BUFFER.  */)
   (Lisp_Object buffer, Lisp_Object start, Lisp_Object end)
 {
-  register int b, e, temp;
+  register EMACS_INT b, e, temp;
   register struct buffer *bp, *obuf;
   Lisp_Object buf;
 
@@ -2538,13 +2542,13 @@
 determines whether case is significant or ignored.  */)
   (Lisp_Object buffer1, Lisp_Object start1, Lisp_Object end1, Lisp_Object 
buffer2, Lisp_Object start2, Lisp_Object end2)
 {
-  register int begp1, endp1, begp2, endp2, temp;
+  register EMACS_INT begp1, endp1, begp2, endp2, temp;
   register struct buffer *bp1, *bp2;
   register Lisp_Object trt
     = (!NILP (current_buffer->case_fold_search)
        ? current_buffer->case_canon_table : Qnil);
-  int chars = 0;
-  int i1, i2, i1_byte, i2_byte;
+  EMACS_INT chars = 0;
+  EMACS_INT i1, i2, i1_byte, i2_byte;
 
   /* Find the first buffer and its substring.  */
 
@@ -2710,7 +2714,7 @@
      if 0 we haven't found it yet.
      if < 0 we've found it and we've run the before-change-function.
      if > 0 we've actually performed it and the value is its position.  */
-  int changed = 0;
+  EMACS_INT changed = 0;
   unsigned char fromstr[MAX_MULTIBYTE_LENGTH], tostr[MAX_MULTIBYTE_LENGTH];
   unsigned char *p;
   int count = SPECPDL_INDEX ();
@@ -2719,7 +2723,7 @@
 #define COMBINING_AFTER  2
 #define COMBINING_BOTH (COMBINING_BEFORE | COMBINING_AFTER)
   int maybe_byte_combining = COMBINING_NO;
-  int last_changed = 0;
+  EMACS_INT last_changed = 0;
   int multibyte_p = !NILP (current_buffer->enable_multibyte_characters);
 
  restart:
@@ -3514,7 +3518,7 @@
   (int nargs, register Lisp_Object *args)
 {
   register int n;              /* The number of the next arg to substitute */
-  register int total;          /* An estimate of the final length */
+  register EMACS_INT total;    /* An estimate of the final length */
   char *buf, *p;
   register unsigned char *format, *end, *format_start;
   int nchars;
@@ -3608,7 +3612,7 @@
   while (format != end)
     if (*format++ == '%')
       {
-       int thissize = 0;
+       EMACS_INT thissize = 0;
        EMACS_INT actual_width = 0;
        unsigned char *this_format_start = format - 1;
        int field_width = 0;
@@ -4023,7 +4027,8 @@
 
       if (CONSP (props))
        {
-         int bytepos = 0, position = 0, translated = 0, argn = 1;
+         EMACS_INT bytepos = 0, position = 0, translated = 0;
+         int argn = 1;
          Lisp_Object list;
 
          /* Adjust the bounds of each text property
@@ -4041,7 +4046,7 @@
          for (list = props; CONSP (list); list = XCDR (list))
            {
              Lisp_Object item;
-             int pos;
+             EMACS_INT pos;
 
              item = XCAR (list);
 
@@ -4177,11 +4182,12 @@
    It's the caller's job to ensure that START1 <= END1 <= START2 <= END2.  */
 
 static void
-transpose_markers (int start1, int end1, int start2, int end2,
-                  int start1_byte, int end1_byte,
-                  int start2_byte, int end2_byte)
+transpose_markers (EMACS_INT start1, EMACS_INT end1,
+                  EMACS_INT start2, EMACS_INT end2,
+                  EMACS_INT start1_byte, EMACS_INT end1_byte,
+                  EMACS_INT start2_byte, EMACS_INT end2_byte)
 {
-  register int amt1, amt1_byte, amt2, amt2_byte, diff, diff_byte, mpos;
+  register EMACS_INT amt1, amt1_byte, amt2, amt2_byte, diff, diff_byte, mpos;
   register struct Lisp_Marker *marker;
 
   /* Update point as if it were a marker.  */
@@ -4278,7 +4284,7 @@
   /* Swap the regions if they're reversed.  */
   if (start2 < end1)
     {
-      register int glumph = start1;
+      register EMACS_INT glumph = start1;
       start1 = start2;
       start2 = glumph;
       glumph = end1;

=== modified file 'src/lisp.h'
--- a/src/lisp.h        2010-09-23 14:32:38 +0000
+++ b/src/lisp.h        2010-09-23 17:10:21 +0000
@@ -2991,7 +2991,7 @@
 EXFUN (Fuser_login_name, 1);
 EXFUN (Fsystem_name, 0);
 EXFUN (Fcurrent_time, 0);
-extern int clip_to_bounds (int, int, int);
+extern int clip_to_bounds (EMACS_INT, EMACS_INT, EMACS_INT);
 extern Lisp_Object make_buffer_string (EMACS_INT, EMACS_INT, int);
 extern Lisp_Object make_buffer_string_both (EMACS_INT, EMACS_INT, EMACS_INT,
                                            EMACS_INT, int);


reply via email to

[Prev in Thread] Current Thread [Next in Thread]