From df9ca8d8b2f48e7042298a9a788b749b46fc5efc Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 3 Sep 2009 11:14:24 +0200 Subject: 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. --- libguile/goops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libguile/goops.c') 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: -- cgit v1.2.3