Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
0350982f
Commit
0350982f
authored
Sep 23, 2010
by
Lars Magne Ingebrigtsen
Browse files
Fix EMACS_INT/int conversion errors in marker.c.
parent
6e48267a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
38 deletions
+49
-38
src/ChangeLog
src/ChangeLog
+11
-0
src/lisp.h
src/lisp.h
+7
-7
src/marker.c
src/marker.c
+31
-31
No files found.
src/ChangeLog
View file @
0350982f
2010-09-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
* lisp.h: Change the definition of all marker.c functions that
take and return buffer stuff to be EMACS_INT instead of int.
* marker.c (buf_charpos_to_bytepos, CONSIDER, set_marker_both)
(buf_charpos_to_bytepos, bytepos_to_charpos)
(buf_bytepos_to_charpos, Fbuffer_has_markers_at)
(set_marker_restricted, set_marker_both): Convert int to EMACS_INT
for all buffer positions.
2010-09-23 Chong Yidong <cyd@stupidchicken.com>
* intervals.c (traverse_intervals, rotate_right, rotate_left)
...
...
src/lisp.h
View file @
0350982f
...
...
@@ -3054,17 +3054,17 @@ EXFUN (Fmarker_position, 1);
EXFUN (Fmarker_buffer, 1);
EXFUN (Fcopy_marker, 2);
EXFUN (Fset_marker, 3);
extern
int
marker_position (Lisp_Object);
extern
int
marker_byte_position (Lisp_Object);
extern
EMACS_INT
marker_position (Lisp_Object);
extern
EMACS_INT
marker_byte_position (Lisp_Object);
extern void clear_charpos_cache (struct buffer *);
extern
int
charpos_to_bytepos (
int
);
extern
int
buf_charpos_to_bytepos (struct buffer *,
int
);
extern
int
buf_bytepos_to_charpos (struct buffer *,
int
);
extern
EMACS_INT
charpos_to_bytepos (
EMACS_INT
);
extern
EMACS_INT
buf_charpos_to_bytepos (struct buffer *,
EMACS_INT
);
extern
EMACS_INT
buf_bytepos_to_charpos (struct buffer *,
EMACS_INT
);
extern void unchain_marker (struct Lisp_Marker *marker);
extern Lisp_Object set_marker_restricted (Lisp_Object, Lisp_Object, Lisp_Object);
extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object,
int, int
);
extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object,
EMACS_INT, EMACS_INT
);
extern Lisp_Object set_marker_restricted_both (Lisp_Object, Lisp_Object,
int, int
);
EMACS_INT, EMACS_INT
);
extern void syms_of_marker (void);
/* Defined in fileio.c */
...
...
src/marker.c
View file @
0350982f
...
...
@@ -27,12 +27,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Record one cached position found recently by
buf_charpos_to_bytepos or buf_bytepos_to_charpos. */
static
int
cached_charpos
;
static
int
cached_bytepos
;
static
EMACS_INT
cached_charpos
;
static
EMACS_INT
cached_bytepos
;
static
struct
buffer
*
cached_buffer
;
static
int
cached_modiff
;
static
void
byte_char_debug_check
(
struct
buffer
*
,
int
,
int
);
static
void
byte_char_debug_check
(
struct
buffer
*
,
EMACS_INT
,
EMACS_INT
);
/* Nonzero means enable debugging checks on byte/char correspondences. */
...
...
@@ -60,12 +60,12 @@ clear_charpos_cache (struct buffer *b)
#define CONSIDER(CHARPOS, BYTEPOS) \
{ \
int
this_charpos = (CHARPOS);
\
EMACS_INT
this_charpos = (CHARPOS); \
int changed = 0; \
\
if (this_charpos == charpos) \
{ \
int
value = (BYTEPOS);
\
EMACS_INT
value = (BYTEPOS);
\
if (byte_debug_flag) \
byte_char_debug_check (b, charpos, value); \
return value; \
...
...
@@ -90,7 +90,7 @@ clear_charpos_cache (struct buffer *b)
{ \
if (best_above - best_below == best_above_byte - best_below_byte) \
{ \
int
value = best_below_byte + (charpos - best_below);
\
EMACS_INT
value = best_below_byte + (charpos - best_below); \
if (byte_debug_flag) \
byte_char_debug_check (b, charpos, value); \
return value; \
...
...
@@ -99,9 +99,9 @@ clear_charpos_cache (struct buffer *b)
}
static
void
byte_char_debug_check
(
struct
buffer
*
b
,
int
charpos
,
int
bytepos
)
byte_char_debug_check
(
struct
buffer
*
b
,
EMACS_INT
charpos
,
EMACS_INT
bytepos
)
{
int
nchars
=
0
;
EMACS_INT
nchars
=
0
;
if
(
bytepos
>
BUF_GPT_BYTE
(
b
))
{
...
...
@@ -118,18 +118,18 @@ byte_char_debug_check (struct buffer *b, int charpos, int bytepos)
abort
();
}
int
charpos_to_bytepos
(
int
charpos
)
EMACS_INT
charpos_to_bytepos
(
EMACS_INT
charpos
)
{
return
buf_charpos_to_bytepos
(
current_buffer
,
charpos
);
}
int
buf_charpos_to_bytepos
(
struct
buffer
*
b
,
int
charpos
)
EMACS_INT
buf_charpos_to_bytepos
(
struct
buffer
*
b
,
EMACS_INT
charpos
)
{
struct
Lisp_Marker
*
tail
;
int
best_above
,
best_above_byte
;
int
best_below
,
best_below_byte
;
EMACS_INT
best_above
,
best_above_byte
;
EMACS_INT
best_below
,
best_below_byte
;
if
(
charpos
<
BUF_BEG
(
b
)
||
charpos
>
BUF_Z
(
b
))
abort
();
...
...
@@ -269,12 +269,12 @@ verify_bytepos (int charpos)
#define CONSIDER(BYTEPOS, CHARPOS) \
{ \
int
this_bytepos = (BYTEPOS);
\
EMACS_INT
this_bytepos = (BYTEPOS); \
int changed = 0; \
\
if (this_bytepos == bytepos) \
{ \
int
value = (CHARPOS);
\
EMACS_INT
value = (CHARPOS);
\
if (byte_debug_flag) \
byte_char_debug_check (b, value, bytepos); \
return value; \
...
...
@@ -299,7 +299,7 @@ verify_bytepos (int charpos)
{ \
if (best_above - best_below == best_above_byte - best_below_byte) \
{ \
int
value = best_below + (bytepos - best_below_byte);
\
EMACS_INT
value = best_below + (bytepos - best_below_byte); \
if (byte_debug_flag) \
byte_char_debug_check (b, value, bytepos); \
return value; \
...
...
@@ -307,18 +307,18 @@ verify_bytepos (int charpos)
} \
}
int
bytepos_to_charpos
(
int
bytepos
)
EMACS_INT
bytepos_to_charpos
(
EMACS_INT
bytepos
)
{
return
buf_bytepos_to_charpos
(
current_buffer
,
bytepos
);
}
int
buf_bytepos_to_charpos
(
struct
buffer
*
b
,
int
bytepos
)
EMACS_INT
buf_bytepos_to_charpos
(
struct
buffer
*
b
,
EMACS_INT
bytepos
)
{
struct
Lisp_Marker
*
tail
;
int
best_above
,
best_above_byte
;
int
best_below
,
best_below_byte
;
EMACS_INT
best_above
,
best_above_byte
;
EMACS_INT
best_below
,
best_below_byte
;
if
(
bytepos
<
BUF_BEG_BYTE
(
b
)
||
bytepos
>
BUF_Z_BYTE
(
b
))
abort
();
...
...
@@ -470,7 +470,7 @@ Then it no longer slows down editing in any buffer.
Returns MARKER. */
)
(
Lisp_Object
marker
,
Lisp_Object
position
,
Lisp_Object
buffer
)
{
register
int
charno
,
bytepos
;
register
EMACS_INT
charno
,
bytepos
;
register
struct
buffer
*
b
;
register
struct
Lisp_Marker
*
m
;
...
...
@@ -545,7 +545,7 @@ Returns MARKER. */)
Lisp_Object
set_marker_restricted
(
Lisp_Object
marker
,
Lisp_Object
pos
,
Lisp_Object
buffer
)
{
register
int
charno
,
bytepos
;
register
EMACS_INT
charno
,
bytepos
;
register
struct
buffer
*
b
;
register
struct
Lisp_Marker
*
m
;
...
...
@@ -618,7 +618,7 @@ set_marker_restricted (Lisp_Object marker, Lisp_Object pos, Lisp_Object buffer)
character position and the corresponding byte position. */
Lisp_Object
set_marker_both
(
Lisp_Object
marker
,
Lisp_Object
buffer
,
int
charpos
,
int
bytepos
)
set_marker_both
(
Lisp_Object
marker
,
Lisp_Object
buffer
,
EMACS_INT
charpos
,
EMACS_INT
bytepos
)
{
register
struct
buffer
*
b
;
register
struct
Lisp_Marker
*
m
;
...
...
@@ -666,7 +666,7 @@ set_marker_both (Lisp_Object marker, Lisp_Object buffer, int charpos, int bytepo
be outside the visible part. */
Lisp_Object
set_marker_restricted_both
(
Lisp_Object
marker
,
Lisp_Object
buffer
,
int
charpos
,
int
bytepos
)
set_marker_restricted_both
(
Lisp_Object
marker
,
Lisp_Object
buffer
,
EMACS_INT
charpos
,
EMACS_INT
bytepos
)
{
register
struct
buffer
*
b
;
register
struct
Lisp_Marker
*
m
;
...
...
@@ -776,7 +776,7 @@ unchain_marker (register struct Lisp_Marker *marker)
/* Return the char position of marker MARKER, as a C integer. */
int
EMACS_INT
marker_position
(
Lisp_Object
marker
)
{
register
struct
Lisp_Marker
*
m
=
XMARKER
(
marker
);
...
...
@@ -790,12 +790,12 @@ marker_position (Lisp_Object marker)
/* Return the byte position of marker MARKER, as a C integer. */
int
EMACS_INT
marker_byte_position
(
Lisp_Object
marker
)
{
register
struct
Lisp_Marker
*
m
=
XMARKER
(
marker
);
register
struct
buffer
*
buf
=
m
->
buffer
;
register
int
i
=
m
->
bytepos
;
register
EMACS_INT
i
=
m
->
bytepos
;
if
(
!
buf
)
error
(
"Marker does not point anywhere"
);
...
...
@@ -856,7 +856,7 @@ DEFUN ("buffer-has-markers-at", Fbuffer_has_markers_at, Sbuffer_has_markers_at,
(
Lisp_Object
position
)
{
register
struct
Lisp_Marker
*
tail
;
register
int
charno
;
register
EMACS_INT
charno
;
charno
=
XINT
(
position
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment