]> code.delx.au - gnu-emacs/blobdiff - src/buffer.h
(struct buffer): Change overlays_before and overlays_after
[gnu-emacs] / src / buffer.h
index 784fa1da4855a9e5971a6a224bb7c45ca2fe9dda..756bc1867e8ab06462d6beb6688879625388cbec 100644 (file)
@@ -1,5 +1,5 @@
 /* Header file for the buffer manipulation primitives.
-   Copyright (C) 1985, 86, 93, 94, 95, 97, 1998, 1999, 2000, 2001
+   Copyright (C) 1985, 86, 93, 94, 95, 97, 1998, 1999, 2000, 01, 2003
    Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -433,7 +433,7 @@ struct buffer_text
        This is actually a single marker ---
        successive elements in its marker `chain'
        are the other markers referring to this buffer.  */
-    Lisp_Object markers;
+    struct Lisp_Marker *markers;
   };
 
 /* This is the structure that the buffer Lisp object points to.  */
@@ -531,6 +531,17 @@ struct buffer
      displaying this buffer.  */
   unsigned prevent_redisplay_optimizations_p : 1;
 
+  /* List of overlays that end at or before the current center,
+     in order of end-position.  */
+  struct Lisp_Overlay *overlays_before;
+
+  /* List of overlays that end after  the current center,
+     in order of start-position.  */
+  struct Lisp_Overlay *overlays_after;
+
+  /* Position where the overlay lists are centered.  */
+  EMACS_INT overlay_center;
+
   /* Everything from here down must be a Lisp_Object.  */
 
   /* The name of this buffer.  */
@@ -644,17 +655,6 @@ struct buffer
   /* t means the mark and region are currently active.  */
   Lisp_Object mark_active;
 
-  /* List of overlays that end at or before the current center,
-     in order of end-position.  */
-  Lisp_Object overlays_before;
-
-  /* List of overlays that end after  the current center,
-     in order of start-position.  */
-  Lisp_Object overlays_after;
-
-  /* Position where the overlay lists are centered.  */
-  Lisp_Object overlay_center;
-
   /* Non-nil means the buffer contents are regarded as multi-byte
      form of characters, not a binary code.  */
   Lisp_Object enable_multibyte_characters;
@@ -805,18 +805,18 @@ extern struct buffer buffer_local_symbols;
 extern struct buffer buffer_local_types;
 \f
 extern void reset_buffer P_ ((struct buffer *));
-extern void evaporate_overlays P_ ((int));
-extern int overlays_at P_ ((int, int, Lisp_Object **, int *, int *, int *, int));
+extern void evaporate_overlays P_ ((EMACS_INT));
+extern int overlays_at P_ ((EMACS_INT, int, Lisp_Object **, int *, int *, int *, int));
 extern int sort_overlays P_ ((Lisp_Object *, int, struct window *));
-extern void recenter_overlay_lists P_ ((struct buffer *, int));
-extern int overlay_strings P_ ((int, struct window *, unsigned char **));
+extern void recenter_overlay_lists P_ ((struct buffer *, EMACS_INT));
+extern int overlay_strings P_ ((EMACS_INT, struct window *, unsigned char **));
 extern void validate_region P_ ((Lisp_Object *, Lisp_Object *));
 extern void set_buffer_internal P_ ((struct buffer *));
 extern void set_buffer_internal_1 P_ ((struct buffer *));
 extern void set_buffer_temp P_ ((struct buffer *));
 extern void record_buffer P_ ((Lisp_Object));
 extern void buffer_slot_type_mismatch P_ ((int));
-extern void fix_overlays_before P_ ((struct buffer *, int, int));
+extern void fix_overlays_before P_ ((struct buffer *, EMACS_INT, EMACS_INT));
 extern void mmap_set_vars P_ ((int));
 
 EXFUN (Fbuffer_name, 1);