#include "libguile/ports.h"
#include "libguile/root.h"
#include "libguile/weaks.h"
+#include "libguile/gc.h"
#include "libguile/validate.h"
#include "libguile/srcprop.h"
scm_t_bits scm_tc16_srcprops;
-static SCM
-srcprops_mark (SCM obj)
-{
- scm_gc_mark (SRCPROPCOPY (obj));
- return SRCPROPPLIST (obj);
-}
-
static int
srcprops_print (SCM obj, SCM port, scm_print_state *pstate)
{
else if (!scm_is_pair (obj))
SCM_WRONG_TYPE_ARG(1, obj);
handle = scm_hashq_create_handle_x (scm_source_whash, obj, plist);
- SCM_SETCDR (handle, plist);
+
return plist;
}
#undef FUNC_NAME
scm_init_srcprop ()
{
scm_tc16_srcprops = scm_make_smob_type ("srcprops", 0);
- scm_set_smob_mark (scm_tc16_srcprops, srcprops_mark);
scm_set_smob_print (scm_tc16_srcprops, srcprops_print);
scm_source_whash = scm_make_weak_key_hash_table (scm_from_int (2047));