From: Ludovic Courtès Date: Wed, 19 Aug 2009 23:16:38 +0000 (+0200) Subject: Simplify the creation of the SMOB GC "kind". X-Git-Url: https://git.hcoop.net/bpt/guile.git/commitdiff_plain/1f7de769402cf8a9ad54b5283dc96d60e86fb5bb Simplify the creation of the SMOB GC "kind". * libguile/smob.c (smob_freelist): Remove. (scm_smob_prehistory): Adjust accordingly. --- diff --git a/libguile/smob.c b/libguile/smob.c index 0598bae33..b2c083cd3 100644 --- a/libguile/smob.c +++ b/libguile/smob.c @@ -496,10 +496,8 @@ free_print (SCM exp, SCM port, scm_print_state *pstate SCM_UNUSED) /* Marking SMOBs using user-supplied mark procedures. */ -/* The freelist and GC kind used for SMOB types that provide a custom mark - procedure. */ -static void **smob_freelist = NULL; -static int smob_gc_kind = 0; +/* The GC kind used for SMOB types that provide a custom mark procedure. */ +static int smob_gc_kind; /* The generic SMOB mark procedure that gets called for SMOBs allocated with @@ -636,8 +634,7 @@ scm_smob_prehistory () long i; scm_t_bits tc; - smob_freelist = GC_new_free_list (); - smob_gc_kind = GC_new_kind ((void **)smob_freelist, + smob_gc_kind = GC_new_kind (GC_new_free_list (), GC_MAKE_PROC (GC_new_proc (smob_mark), 0), 0, /* Clear new objects. As of version 7.1, libgc