aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer.h')
-rw-r--r--src/buffer.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/buffer.h b/src/buffer.h
index dc1d62beb00..4643e0d9d0e 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -309,8 +309,10 @@ while (0)
309 309
310/* Maximum number of bytes in a buffer. 310/* Maximum number of bytes in a buffer.
311 A buffer cannot contain more bytes than a 1-origin fixnum can represent, 311 A buffer cannot contain more bytes than a 1-origin fixnum can represent,
312 nor can it be so large that C pointer arithmetic stops working. */ 312 nor can it be so large that C pointer arithmetic stops working.
313#define BUF_BYTES_MAX min (MOST_POSITIVE_FIXNUM - 1, min (SIZE_MAX, PTRDIFF_MAX)) 313 The ptrdiff_t cast ensures that this is signed, not unsigned. */
314#define BUF_BYTES_MAX \
315 (ptrdiff_t) min (MOST_POSITIVE_FIXNUM - 1, min (SIZE_MAX, PTRDIFF_MAX))
314 316
315/* Return the address of byte position N in current buffer. */ 317/* Return the address of byte position N in current buffer. */
316 318
@@ -885,10 +887,10 @@ extern struct buffer buffer_local_symbols;
885extern void delete_all_overlays (struct buffer *); 887extern void delete_all_overlays (struct buffer *);
886extern void reset_buffer (struct buffer *); 888extern void reset_buffer (struct buffer *);
887extern void evaporate_overlays (EMACS_INT); 889extern void evaporate_overlays (EMACS_INT);
888extern int overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, 890extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr,
889 int *len_ptr, EMACS_INT *next_ptr, 891 ptrdiff_t *len_ptr, EMACS_INT *next_ptr,
890 EMACS_INT *prev_ptr, int change_req); 892 EMACS_INT *prev_ptr, int change_req);
891extern int sort_overlays (Lisp_Object *, int, struct window *); 893extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *);
892extern void recenter_overlay_lists (struct buffer *, EMACS_INT); 894extern void recenter_overlay_lists (struct buffer *, EMACS_INT);
893extern EMACS_INT overlay_strings (EMACS_INT, struct window *, unsigned char **); 895extern EMACS_INT overlay_strings (EMACS_INT, struct window *, unsigned char **);
894extern void validate_region (Lisp_Object *, Lisp_Object *); 896extern void validate_region (Lisp_Object *, Lisp_Object *);
@@ -906,7 +908,7 @@ extern void mmap_set_vars (int);
906 908
907#define GET_OVERLAYS_AT(posn, overlays, noverlays, nextp, chrq) \ 909#define GET_OVERLAYS_AT(posn, overlays, noverlays, nextp, chrq) \
908 do { \ 910 do { \
909 int maxlen = 40; \ 911 ptrdiff_t maxlen = 40; \
910 overlays = (Lisp_Object *) alloca (maxlen * sizeof (Lisp_Object)); \ 912 overlays = (Lisp_Object *) alloca (maxlen * sizeof (Lisp_Object)); \
911 noverlays = overlays_at (posn, 0, &overlays, &maxlen, \ 913 noverlays = overlays_at (posn, 0, &overlays, &maxlen, \
912 nextp, NULL, chrq); \ 914 nextp, NULL, chrq); \