summaryrefslogtreecommitdiff
path: root/libguile/debug.c
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1999-07-07 09:44:01 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1999-07-07 09:44:01 +0000
commit23a621512f6a034a8624f589a3862dbddcec6b9d (patch)
treeefb8b5a0f046402b74a5851fa1a902c40bc91561 /libguile/debug.c
parent8ac40ce8871ccfa5e8c0a4fe3a1d55dfb69f839c (diff)
downloadguile-23a621512f6a034a8624f589a3862dbddcec6b9d.tar.gz
Greg's smob patch
Diffstat (limited to 'libguile/debug.c')
-rw-r--r--libguile/debug.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/libguile/debug.c b/libguile/debug.c
index f5c9f8c55..3345c6ba1 100644
--- a/libguile/debug.c
+++ b/libguile/debug.c
@@ -164,9 +164,6 @@ prinmemoized (obj, port, pstate)
return 1;
}
-static scm_smobfuns memoizedsmob =
-{scm_markcdr, scm_free0, prinmemoized, 0};
-
SCM_PROC (s_memoized_p, "memoized?", 1, 0, 0, scm_memoized_p);
SCM
@@ -184,12 +181,8 @@ scm_make_memoized (exp, env)
/* *fixme* Check that env is a valid environment. */
register SCM z, ans;
SCM_ENTER_A_SECTION;
- SCM_NEWCELL (z);
- SCM_SETCDR (z, env);
- SCM_SETCAR (z, exp);
- SCM_NEWCELL (ans);
- SCM_SETCDR (ans, z);
- SCM_SETCAR (ans, scm_tc16_memoized);
+ SCM_NEWSMOB (z, exp, env);
+ SCM_NEWSMOB (ans, scm_tc16_memoized, z);
SCM_EXIT_A_SECTION;
return ans;
}
@@ -589,9 +582,6 @@ prindebugobj (obj, port, pstate)
return 1;
}
-static scm_smobfuns debugobjsmob =
-{0, scm_free0, prindebugobj, 0};
-
SCM_PROC (s_debug_object_p, "debug-object?", 1, 0, 0, scm_debug_object_p);
SCM
@@ -638,8 +628,11 @@ scm_init_debug ()
{
scm_init_opts (scm_debug_options, scm_debug_opts, SCM_N_DEBUG_OPTIONS);
- scm_tc16_memoized = scm_newsmob (&memoizedsmob);
- scm_tc16_debugobj = scm_newsmob (&debugobjsmob);
+ scm_tc16_memoized = scm_make_smob_type_mfpe ("memoized", 0,
+ scm_markcdr, NULL, prinmemoized, NULL);
+
+ scm_tc16_debugobj = scm_make_smob_type_mfpe ("debug-object", 0,
+ NULL, NULL, prindebugobj, NULL);
scm_i_procname = SCM_CAR (scm_sysintern ("procname", SCM_UNDEFINED));
scm_i_more = SCM_CAR (scm_sysintern ("...", SCM_UNDEFINED));