summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2008-02-12 21:35:15 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2008-02-12 21:35:15 +0000
commit13818c30785d1253412c4e08c61417eb81a98c5b (patch)
treef5fa90cff90bb458801514d30546ba9538d3af0a /src
parent8b8bf8e68f19cdbe07521fa2d3c563265b27bd94 (diff)
downloademacs-13818c30785d1253412c4e08c61417eb81a98c5b.tar.gz
* 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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog11
-rw-r--r--src/character.c8
-rw-r--r--src/coding.c7
-rw-r--r--src/fileio.c12
-rw-r--r--src/fns.c30
-rw-r--r--src/insdel.c2
-rw-r--r--src/lisp.h14
7 files changed, 48 insertions, 36 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a79548bd31f..cef846aa7f9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -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.
diff --git a/src/character.c b/src/character.c
index 98256c9f9e2..9fa4dffc11f 100644
--- a/src/character.c
+++ b/src/character.c
@@ -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;
diff --git a/src/coding.c b/src/coding.c
index 93726169585..8bac5c5ae80 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -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;
{
diff --git a/src/fileio.c b/src/fileio.c
index 76d076f75b2..9095cc45878 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -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 ();
diff --git a/src/fns.c b/src/fns.c
index d3f128ea2d1..e0da65a93df 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -786,8 +786,8 @@ concat (nargs, args, target_type, last_special)
}
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)
/* 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;
diff --git a/src/insdel.c b/src/insdel.c
index dfc6a5ad551..2919c183ab7 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -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;
diff --git a/src/lisp.h b/src/lisp.h
index 30e28b9ebb4..8221a85c13e 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -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));