Sync with r21-2-26.
[chise/xemacs-chise.git-] / src / marker.c
index 59a81aa..5f9db4a 100644 (file)
@@ -36,7 +36,7 @@ Boston, MA 02111-1307, USA.  */
 #include "buffer.h"
 
 static Lisp_Object
-mark_marker (Lisp_Object obj, void (*markobj) (Lisp_Object))
+mark_marker (Lisp_Object obj)
 {
   struct Lisp_Marker *marker = XMARKER (obj);
   Lisp_Object buf;
@@ -66,7 +66,7 @@ print_marker (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
     write_c_string (GETTEXT ("in no buffer"), printcharfun);
   else
     {
-      sprintf (buf, "at %d in ", marker_position (obj));
+      sprintf (buf, "at %ld in ", (long) marker_position (obj));
       write_c_string (buf, printcharfun);
       print_internal (marker->buffer->name, printcharfun, 0);
     }
@@ -95,9 +95,14 @@ marker_hash (Lisp_Object obj, int depth)
   return hash;
 }
 
+static const struct lrecord_description marker_description[] = {
+  { XD_LISP_OBJECT, offsetof(struct Lisp_Marker, next), 3 },
+  { XD_END }
+};
+
 DEFINE_BASIC_LRECORD_IMPLEMENTATION ("marker", marker,
                                     mark_marker, print_marker, 0,
-                                    marker_equal, marker_hash,
+                                    marker_equal, marker_hash, marker_description,
                                     struct Lisp_Marker);
 \f
 /* Operations on markers. */