XEmacs 21.2.28 "Hermes".
[chise/xemacs-chise.git.1] / src / marker.c
index 5f9db4a..408acc3 100644 (file)
@@ -38,7 +38,7 @@ Boston, MA 02111-1307, USA.  */
 static Lisp_Object
 mark_marker (Lisp_Object obj)
 {
 static Lisp_Object
 mark_marker (Lisp_Object obj)
 {
-  struct Lisp_Marker *marker = XMARKER (obj);
+  Lisp_Marker *marker = XMARKER (obj);
   Lisp_Object buf;
   /* DO NOT mark through the marker's chain.
      The buffer's markers chain does not preserve markers from gc;
   Lisp_Object buf;
   /* DO NOT mark through the marker's chain.
      The buffer's markers chain does not preserve markers from gc;
@@ -55,7 +55,7 @@ mark_marker (Lisp_Object obj)
 static void
 print_marker (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
 {
 static void
 print_marker (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
 {
-  struct Lisp_Marker *marker = XMARKER (obj);
+  Lisp_Marker *marker = XMARKER (obj);
   char buf[200];
 
   if (print_readably)
   char buf[200];
 
   if (print_readably)
@@ -77,8 +77,8 @@ print_marker (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
 static int
 marker_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
 {
 static int
 marker_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
 {
-  struct Lisp_Marker *marker1 = XMARKER (obj1);
-  struct Lisp_Marker *marker2 = XMARKER (obj2);
+  Lisp_Marker *marker1 = XMARKER (obj1);
+  Lisp_Marker *marker2 = XMARKER (obj2);
 
   return ((marker1->buffer == marker2->buffer) &&
          (marker1->memind == marker2->memind ||
 
   return ((marker1->buffer == marker2->buffer) &&
          (marker1->memind == marker2->memind ||
@@ -96,14 +96,16 @@ marker_hash (Lisp_Object obj, int depth)
 }
 
 static const struct lrecord_description marker_description[] = {
 }
 
 static const struct lrecord_description marker_description[] = {
-  { XD_LISP_OBJECT, offsetof(struct Lisp_Marker, next), 3 },
+  { XD_LISP_OBJECT, offsetof (Lisp_Marker, next) },
+  { XD_LISP_OBJECT, offsetof (Lisp_Marker, prev) },
+  { XD_LISP_OBJECT, offsetof (Lisp_Marker, buffer) },
   { XD_END }
 };
 
 DEFINE_BASIC_LRECORD_IMPLEMENTATION ("marker", marker,
                                     mark_marker, print_marker, 0,
                                     marker_equal, marker_hash, marker_description,
   { XD_END }
 };
 
 DEFINE_BASIC_LRECORD_IMPLEMENTATION ("marker", marker,
                                     mark_marker, print_marker, 0,
                                     marker_equal, marker_hash, marker_description,
-                                    struct Lisp_Marker);
+                                    Lisp_Marker);
 \f
 /* Operations on markers. */
 
 \f
 /* Operations on markers. */
 
@@ -140,7 +142,7 @@ Return `nil' if marker doesn't point anywhere.
 static void
 check_marker_circularities (struct buffer *buf)
 {
 static void
 check_marker_circularities (struct buffer *buf)
 {
-  struct Lisp_Marker *tortoise, *hare;
+  Lisp_Marker *tortoise, *hare;
 
   tortoise = BUF_MARKERS (buf);
   hare = tortoise;
 
   tortoise = BUF_MARKERS (buf);
   hare = tortoise;
@@ -171,7 +173,7 @@ set_marker_internal (Lisp_Object marker, Lisp_Object pos, Lisp_Object buffer,
 {
   Bufpos charno;
   struct buffer *b;
 {
   Bufpos charno;
   struct buffer *b;
-  struct Lisp_Marker *m;
+  Lisp_Marker *m;
   int point_p;
 
   CHECK_MARKER (marker);
   int point_p;
 
   CHECK_MARKER (marker);
@@ -287,7 +289,7 @@ set_marker_restricted (Lisp_Object marker, Lisp_Object pos, Lisp_Object buffer)
 void
 unchain_marker (Lisp_Object m)
 {
 void
 unchain_marker (Lisp_Object m)
 {
-  struct Lisp_Marker *marker = XMARKER (m);
+  Lisp_Marker *marker = XMARKER (m);
   struct buffer *b = marker->buffer;
 
   if (b == 0)
   struct buffer *b = marker->buffer;
 
   if (b == 0)
@@ -314,7 +316,7 @@ unchain_marker (Lisp_Object m)
 Bytind
 bi_marker_position (Lisp_Object marker)
 {
 Bytind
 bi_marker_position (Lisp_Object marker)
 {
-  struct Lisp_Marker *m = XMARKER (marker);
+  Lisp_Marker *m = XMARKER (marker);
   struct buffer *buf = m->buffer;
   Bytind pos;
 
   struct buffer *buf = m->buffer;
   Bytind pos;
 
@@ -351,7 +353,7 @@ marker_position (Lisp_Object marker)
 void
 set_bi_marker_position (Lisp_Object marker, Bytind pos)
 {
 void
 set_bi_marker_position (Lisp_Object marker, Bytind pos)
 {
-  struct Lisp_Marker *m = XMARKER (marker);
+  Lisp_Marker *m = XMARKER (marker);
   struct buffer *buf = m->buffer;
 
   if (!buf)
   struct buffer *buf = m->buffer;
 
   if (!buf)
@@ -458,7 +460,7 @@ Return t if there are markers pointing at POSITION in the current buffer.
 */
        (position))
 {
 */
        (position))
 {
-  struct Lisp_Marker *marker;
+  Lisp_Marker *marker;
   Memind pos;
 
   /* A small optimization trick: convert POS to memind now, rather
   Memind pos;
 
   /* A small optimization trick: convert POS to memind now, rather
@@ -487,12 +489,12 @@ Return t if there are markers pointing at POSITION in the current buffer.
 int
 compute_buffer_marker_usage (struct buffer *b, struct overhead_stats *ovstats)
 {
 int
 compute_buffer_marker_usage (struct buffer *b, struct overhead_stats *ovstats)
 {
-  struct Lisp_Marker *m;
+  Lisp_Marker *m;
   int total = 0;
   int overhead;
 
   for (m = BUF_MARKERS (b); m; m = m->next)
   int total = 0;
   int overhead;
 
   for (m = BUF_MARKERS (b); m; m = m->next)
-    total += sizeof (struct Lisp_Marker);
+    total += sizeof (Lisp_Marker);
   ovstats->was_requested += total;
   overhead = fixed_type_block_overhead (total);
   /* #### claiming this is all malloc overhead is not really right,
   ovstats->was_requested += total;
   overhead = fixed_type_block_overhead (total);
   /* #### claiming this is all malloc overhead is not really right,
@@ -538,7 +540,7 @@ uninit_buffer_markers (struct buffer *b)
 {
   /* Unchain all markers of this buffer
      and leave them pointing nowhere.  */
 {
   /* Unchain all markers of this buffer
      and leave them pointing nowhere.  */
-  REGISTER struct Lisp_Marker *m, *next;
+  REGISTER Lisp_Marker *m, *next;
   for (m = BUF_MARKERS (b); m; m = next)
     {
       m->buffer = 0;
   for (m = BUF_MARKERS (b); m; m = next)
     {
       m->buffer = 0;