summaryrefslogtreecommitdiff
path: root/libguile/srcprop.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/srcprop.c')
-rw-r--r--libguile/srcprop.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/libguile/srcprop.c b/libguile/srcprop.c
index ca3907408..7df11f8f2 100644
--- a/libguile/srcprop.c
+++ b/libguile/srcprop.c
@@ -82,13 +82,13 @@ SCM scm_sym_line;
SCM scm_sym_column;
SCM scm_sym_breakpoint;
-long scm_tc16_srcprops;
+scm_bits_t scm_tc16_srcprops;
static scm_srcprops_chunk *srcprops_chunklist = 0;
static scm_srcprops *srcprops_freelist = 0;
static SCM
-marksrcprops (SCM obj)
+srcprops_mark (SCM obj)
{
scm_gc_mark (SRCPROPFNAME (obj));
scm_gc_mark (SRCPROPCOPY (obj));
@@ -97,7 +97,7 @@ marksrcprops (SCM obj)
static scm_sizet
-freesrcprops (SCM obj)
+srcprops_free (SCM obj)
{
*((scm_srcprops **) SCM_CELL_WORD_1 (obj)) = srcprops_freelist;
srcprops_freelist = (scm_srcprops *) SCM_CELL_WORD_1 (obj);
@@ -106,7 +106,7 @@ freesrcprops (SCM obj)
static int
-prinsrcprops (SCM obj,SCM port,scm_print_state *pstate)
+srcprops_print (SCM obj, SCM port, scm_print_state *pstate)
{
int writingp = SCM_WRITINGP (pstate);
scm_puts ("#<srcprops ", port);
@@ -323,8 +323,11 @@ SCM_DEFINE (scm_set_source_property_x, "set-source-property!", 3, 0, 0,
void
scm_init_srcprop ()
{
- scm_tc16_srcprops = scm_make_smob_type_mfpe ("srcprops", 0,
- marksrcprops, freesrcprops, prinsrcprops, NULL);
+ scm_tc16_srcprops = scm_make_smob_type ("srcprops", 0);
+ scm_set_smob_mark (scm_tc16_srcprops, srcprops_mark);
+ scm_set_smob_free (scm_tc16_srcprops, srcprops_free);
+ scm_set_smob_print (scm_tc16_srcprops, srcprops_print);
+
scm_source_whash = scm_make_weak_key_hash_table (SCM_MAKINUM (2047));
scm_sym_filename = SCM_CAR (scm_sysintern ("filename", SCM_UNDEFINED));