summaryrefslogtreecommitdiff
path: root/libguile/goops.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/goops.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/goops.c')
-rw-r--r--libguile/goops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/goops.c b/libguile/goops.c
index dcb1b7d12..dfa7117d0 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -237,11 +237,11 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0,
case scm_tc7_subr_2o:
case scm_tc7_lsubr_2:
case scm_tc7_lsubr:
+ case scm_tc7_gsubr:
if (SCM_SUBR_GENERIC (x) && *SCM_SUBR_GENERIC (x))
return scm_class_primitive_generic;
else
return scm_class_procedure;
- case scm_tc7_gsubr:
case scm_tc7_program:
return scm_class_procedure;
case scm_tc7_pws: