summaryrefslogtreecommitdiff
path: root/libguile/gc.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-09-03 11:14:24 +0200
committerAndy Wingo <wingo@pobox.com>2009-12-03 14:54:15 +0100
commitdf9ca8d8b2f48e7042298a9a788b749b46fc5efc (patch)
treee0bb75ab74b026aa6f31d4e15c2239f39c5a1fc2 /libguile/gc.c
parentaa3f69519f1af3fcf31cf36be33776db3fedf65a (diff)
downloadguile-df9ca8d8b2f48e7042298a9a788b749b46fc5efc.tar.gz
all subrs are gsubrs
* libguile/gsubr.c (create_gsubr, create_gsubr_with_generic): Always create gsubrs -- never the specialized tc7 types. Allow gsubrs to have generics, there doesn't seem to be any reason not to. * libguile/macros.c (scm_make_synt): * libguile/values.c (scm_init_values): * libguile/eval.c (scm_init_eval): * libguile/gc.c (scm_init_gc): Use scm_c_define_gsubr instead of scm_c_define_subr. * libguile/goops.c (scm_class_of): Allow gsubrs to be primitive generics.
Diffstat (limited to 'libguile/gc.c')
-rw-r--r--libguile/gc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libguile/gc.c b/libguile/gc.c
index 96e3c306f..a0715f084 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -820,8 +820,7 @@ scm_init_gc ()
scm_after_gc_hook = scm_permanent_object (scm_make_hook (SCM_INUM0));
scm_c_define ("after-gc-hook", scm_after_gc_hook);
- gc_async = scm_c_make_subr ("%gc-thunk", scm_tc7_subr_0,
- gc_async_thunk);
+ gc_async = scm_c_make_gsubr ("%gc-thunk", 0, 0, 0, gc_async_thunk);
scm_c_hook_add (&scm_after_gc_c_hook, mark_gc_async, NULL, 0);