summaryrefslogtreecommitdiff
path: root/libguile/objects.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/objects.c')
-rw-r--r--libguile/objects.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libguile/objects.c b/libguile/objects.c
index be9481c9a..12ee5a9c0 100644
--- a/libguile/objects.c
+++ b/libguile/objects.c
@@ -102,6 +102,15 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0,
return scm_class_vector;
case scm_tc7_string:
return scm_class_string;
+ case scm_tc7_number:
+ switch SCM_TYP16 (x) {
+ case scm_tc16_big:
+ return scm_class_integer;
+ case scm_tc16_real:
+ return scm_class_real;
+ case scm_tc16_complex:
+ return scm_class_complex;
+ }
case scm_tc7_asubr:
case scm_tc7_subr_0:
case scm_tc7_subr_1: