]> git.eshelyaron.com Git - emacs.git/commitdiff
* coding.c (coding_set_destination): Use BEG_BYTE rather than hardcoding 1.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 12 Feb 2008 21:35:15 +0000 (21:35 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 12 Feb 2008 21:35:15 +0000 (21:35 +0000)
(detect_coding_system):
* lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
(string_char_to_byte, string_byte_to_char, insert_from_gap):
* insdel.c (insert_from_gap):
* fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
(string_char_to_byte, string_byte_to_char, string_make_multibyte)
(string_to_multibyte):
* character.c (chars_in_text, multibyte_chars_in_text):
* fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.

src/ChangeLog
src/character.c
src/coding.c
src/fileio.c
src/fns.c
src/insdel.c
src/lisp.h

index a79548bd31f2fcafb161e400c682a2d42da44582..cef846aa7f9bdde12cd430264188df259a50cdbd 100644 (file)
@@ -1,5 +1,16 @@
 2008-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * coding.c (coding_set_destination): Use BEG_BYTE rather than hardcoding 1.
+       (detect_coding_system):
+       * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
+       (string_char_to_byte, string_byte_to_char, insert_from_gap):
+       * insdel.c (insert_from_gap):
+       * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
+       (string_char_to_byte, string_byte_to_char, string_make_multibyte)
+       (string_to_multibyte):
+       * character.c (chars_in_text, multibyte_chars_in_text):
+       * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
+
        * character.h (FETCH_STRING_CHAR_ADVANCE)
        (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
        (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
index 98256c9f9e25f93827a2d938abd92f017affb0a1..9fa4dffc11f417f99923c8eb26a9bb299def43d1 100644 (file)
@@ -568,10 +568,10 @@ The returned value is 0 for left-to-right and 1 for right-to-left.  */)
    However, if the current buffer has enable-multibyte-characters =
    nil, we treat each byte as a character.  */
 
-int
+EMACS_INT
 chars_in_text (ptr, nbytes)
      const unsigned char *ptr;
-     int nbytes;
+     EMACS_INT nbytes;
 {
   /* current_buffer is null at early stages of Emacs initialization.  */
   if (current_buffer == 0
@@ -586,10 +586,10 @@ chars_in_text (ptr, nbytes)
    sequences while assuming that there's no invalid sequence.  It
    ignores enable-multibyte-characters.  */
 
-int
+EMACS_INT
 multibyte_chars_in_text (ptr, nbytes)
      const unsigned char *ptr;
-     int nbytes;
+     EMACS_INT nbytes;
 {
   const unsigned char *endp = ptr + nbytes;
   int chars = 0;
index 937261695856ddd56ebc6adb5405b63deee74cac..8bac5c5ae80a2ba06ceac7b3c72c7d69036585a2 100644 (file)
@@ -999,7 +999,7 @@ coding_set_destination (coding)
     {
       if (coding->src_pos < 0)
        {
-         coding->destination = BEG_ADDR + coding->dst_pos_byte - 1;
+         coding->destination = BEG_ADDR + coding->dst_pos_byte - BEG_BYTE;
          coding->dst_bytes = (GAP_END_ADDR
                               - (coding->src_bytes - coding->consumed)
                               - coding->destination);
@@ -1009,7 +1009,7 @@ coding_set_destination (coding)
          /* We are sure that coding->dst_pos_byte is before the gap
             of the buffer. */
          coding->destination = (BUF_BEG_ADDR (XBUFFER (coding->dst_object))
-                                + coding->dst_pos_byte - 1);
+                                + coding->dst_pos_byte - BEG_BYTE);
          coding->dst_bytes = (BUF_GAP_END_ADDR (XBUFFER (coding->dst_object))
                               - coding->destination);
        }
@@ -7329,7 +7329,8 @@ Lisp_Object
 detect_coding_system (src, src_chars, src_bytes, highest, multibytep,
                      coding_system)
      const unsigned char *src;
-     int src_chars, src_bytes, highest;
+     EMACS_INT src_chars, src_bytes;
+     int highest;
      int multibytep;
      Lisp_Object coding_system;
 {
index 76d076f75b25091b39a9f54573bd364358114fff..9095cc458784f24fa38ea53d056a679d025abf69 100644 (file)
@@ -4183,12 +4183,12 @@ variable `last-coding-system-used' to the coding system actually used.  */)
      in a more optimized way.  */
   if (!NILP (replace) && ! replace_handled && BEGV < ZV)
     {
-      int same_at_start = BEGV_BYTE;
-      int same_at_end = ZV_BYTE;
-      int same_at_start_charpos;
-      int inserted_chars;
-      int overlap;
-      int bufpos;
+      EMACS_INT same_at_start = BEGV_BYTE;
+      EMACS_INT same_at_end = ZV_BYTE;
+      EMACS_INT same_at_start_charpos;
+      EMACS_INT inserted_chars;
+      EMACS_INT overlap;
+      EMACS_INT bufpos;
       unsigned char *decoded;
       int temp;
       int this_count = SPECPDL_INDEX ();
index d3f128ea2d1f18b862b73e7958abf28a695590a4..e0da65a93df838b05172c38440d03b4104960f99 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -786,8 +786,8 @@ concat (nargs, args, target_type, last_special)
 }
 \f
 static Lisp_Object string_char_byte_cache_string;
-static int string_char_byte_cache_charpos;
-static int string_char_byte_cache_bytepos;
+static EMACS_INT string_char_byte_cache_charpos;
+static EMACS_INT string_char_byte_cache_bytepos;
 
 void
 clear_string_char_byte_cache ()
@@ -795,16 +795,16 @@ clear_string_char_byte_cache ()
   string_char_byte_cache_string = Qnil;
 }
 
-/* Return the character index corresponding to CHAR_INDEX in STRING.  */
+/* Return the byte index corresponding to CHAR_INDEX in STRING.  */
 
-int
+EMACS_INT
 string_char_to_byte (string, char_index)
      Lisp_Object string;
-     int char_index;
+     EMACS_INT char_index;
 {
-  int i_byte;
-  int best_below, best_below_byte;
-  int best_above, best_above_byte;
+  EMACS_INT i_byte;
+  EMACS_INT best_below, best_below_byte;
+  EMACS_INT best_above, best_above_byte;
 
   best_below = best_below_byte = 0;
   best_above = SCHARS (string);
@@ -859,14 +859,14 @@ string_char_to_byte (string, char_index)
 \f
 /* Return the character index corresponding to BYTE_INDEX in STRING.  */
 
-int
+EMACS_INT
 string_byte_to_char (string, byte_index)
      Lisp_Object string;
-     int byte_index;
+     EMACS_INT byte_index;
 {
-  int i, i_byte;
-  int best_below, best_below_byte;
-  int best_above, best_above_byte;
+  EMACS_INT i, i_byte;
+  EMACS_INT best_below, best_below_byte;
+  EMACS_INT best_above, best_above_byte;
 
   best_below = best_below_byte = 0;
   best_above = SCHARS (string);
@@ -930,7 +930,7 @@ string_make_multibyte (string)
      Lisp_Object string;
 {
   unsigned char *buf;
-  int nbytes;
+  EMACS_INT nbytes;
   Lisp_Object ret;
   USE_SAFE_ALLOCA;
 
@@ -964,7 +964,7 @@ string_to_multibyte (string)
      Lisp_Object string;
 {
   unsigned char *buf;
-  int nbytes;
+  EMACS_INT nbytes;
   Lisp_Object ret;
   USE_SAFE_ALLOCA;
 
index dfc6a5ad551e9d5b5abba5376066aeb5097c0067..2919c183ab7fdef12329a8a7d2dab3d486443199 100644 (file)
@@ -1172,7 +1172,7 @@ insert_from_string_1 (string, pos, pos_byte, nchars, nbytes,
 
 void
 insert_from_gap (nchars, nbytes)
-     register int nchars, nbytes;
+     register EMACS_INT nchars, nbytes;
 {
   if (NILP (current_buffer->enable_multibyte_characters))
     nchars = nbytes;
index 30e28b9ebb457d3378ba9d1cd45e01b44f80d6a7..8221a85c13e8dd3f012abc0dd36e2ac98741b870 100644 (file)
@@ -2281,8 +2281,8 @@ EXFUN (Ffind_operation_coding_system, MANY);
 EXFUN (Fupdate_coding_systems_internal, 0);
 EXFUN (Fencode_coding_string, 4);
 EXFUN (Fdecode_coding_string, 4);
-extern Lisp_Object detect_coding_system P_ ((const unsigned char *, int,
-                                            int, int, int, Lisp_Object));
+extern Lisp_Object detect_coding_system P_ ((const unsigned char *, EMACS_INT,
+                                            EMACS_INT, int, int, Lisp_Object));
 extern void init_coding P_ ((void));
 extern void init_coding_once P_ ((void));
 extern void syms_of_coding P_ ((void));
@@ -2296,8 +2296,8 @@ EXFUN (Funibyte_char_to_multibyte, 1);
 EXFUN (Fchar_bytes, 1);
 EXFUN (Fchar_width, 1);
 EXFUN (Fstring, MANY);
-extern int chars_in_text P_ ((const unsigned char *, int));
-extern int multibyte_chars_in_text P_ ((const unsigned char *, int));
+extern EMACS_INT chars_in_text P_ ((const unsigned char *, EMACS_INT));
+extern EMACS_INT multibyte_chars_in_text P_ ((const unsigned char *, EMACS_INT));
 extern int multibyte_char_to_unibyte P_ ((int, Lisp_Object));
 extern int multibyte_char_to_unibyte_safe P_ ((int));
 extern Lisp_Object Qcharset;
@@ -2403,8 +2403,8 @@ extern Lisp_Object nconc2 P_ ((Lisp_Object, Lisp_Object));
 extern Lisp_Object assq_no_quit P_ ((Lisp_Object, Lisp_Object));
 extern Lisp_Object assoc_no_quit P_ ((Lisp_Object, Lisp_Object));
 extern void clear_string_char_byte_cache P_ ((void));
-extern int string_char_to_byte P_ ((Lisp_Object, int));
-extern int string_byte_to_char P_ ((Lisp_Object, int));
+extern EMACS_INT string_char_to_byte P_ ((Lisp_Object, EMACS_INT));
+extern EMACS_INT string_byte_to_char P_ ((Lisp_Object, EMACS_INT));
 extern Lisp_Object string_make_multibyte P_ ((Lisp_Object));
 extern Lisp_Object string_to_multibyte P_ ((Lisp_Object));
 extern Lisp_Object string_make_unibyte P_ ((Lisp_Object));
@@ -2448,7 +2448,7 @@ extern void insert P_ ((const unsigned char *, int));
 extern void insert_and_inherit P_ ((const unsigned char *, int));
 extern void insert_1 P_ ((const unsigned char *, int, int, int, int));
 extern void insert_1_both P_ ((const unsigned char *, int, int, int, int, int));
-extern void insert_from_gap P_ ((int, int));
+extern void insert_from_gap P_ ((EMACS_INT, EMACS_INT));
 extern void insert_from_string P_ ((Lisp_Object, int, int, int, int, int));
 extern void insert_from_buffer P_ ((struct buffer *, int, int, int));
 extern void insert_char P_ ((int));