XEmacs 21.2.20 "Yoko".
[chise/xemacs-chise.git.1] / src / lstream.c
index 1624dbb..d7c4f70 100644 (file)
@@ -134,10 +134,10 @@ void Lstream_rewind (Lstream *stream)
 #define MAX_READ_SIZE 512
 
 static Lisp_Object
-mark_lstream (Lisp_Object obj, void (*markobj) (Lisp_Object))
+mark_lstream (Lisp_Object obj)
 {
   Lstream *lstr = XLSTREAM (obj);
-  return lstr->imp->marker ? (lstr->imp->marker) (obj, markobj) : Qnil;
+  return lstr->imp->marker ? (lstr->imp->marker) (obj) : Qnil;
 }
 
 static void
@@ -188,7 +188,7 @@ sizeof_lstream (CONST void *header)
 
 DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION ("stream", lstream,
                                        mark_lstream, print_lstream,
-                                       finalize_lstream, 0, 0,
+                                       finalize_lstream, 0, 0, 0,
                                        sizeof_lstream, Lstream);
 \f
 void
@@ -232,7 +232,7 @@ Lstream_new (CONST Lstream_implementation *imp, CONST char *mode)
       lstream_types[lstream_type_count] = imp;
       Vlstream_free_list[lstream_type_count] =
        make_lcrecord_list (sizeof (*p) + imp->size - 1,
-                           lrecord_lstream);
+                           &lrecord_lstream);
       lstream_type_count++;
     }
 
@@ -1214,7 +1214,7 @@ lisp_string_rewinder (Lstream *stream)
 }
 
 static Lisp_Object
-lisp_string_marker (Lisp_Object stream, void (*markobj) (Lisp_Object))
+lisp_string_marker (Lisp_Object stream)
 {
   struct lisp_string_stream *str = LISP_STRING_STREAM_DATA (XLSTREAM (stream));
   return str->obj;
@@ -1612,13 +1612,13 @@ lisp_buffer_rewinder (Lstream *stream)
 }
 
 static Lisp_Object
-lisp_buffer_marker (Lisp_Object stream, void (*markobj) (Lisp_Object))
+lisp_buffer_marker (Lisp_Object stream)
 {
   struct lisp_buffer_stream *str =
     LISP_BUFFER_STREAM_DATA (XLSTREAM (stream));
 
-  markobj (str->start);
-  markobj (str->end);
+  mark_object (str->start);
+  mark_object (str->end);
   return str->buffer;
 }
 
@@ -1673,13 +1673,19 @@ lstream_type_create (void)
 }
 
 void
-vars_of_lstream (void)
+reinit_vars_of_lstream (void)
 {
   int i;
 
   for (i = 0; i < countof (Vlstream_free_list); i++)
     {
       Vlstream_free_list[i] = Qnil;
-      staticpro (&Vlstream_free_list[i]);
+      staticpro_nodump (&Vlstream_free_list[i]);
     }
 }
+
+void
+vars_of_lstream (void)
+{
+  reinit_vars_of_lstream ();
+}