summaryrefslogtreecommitdiff
path: root/libguile/goops.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/goops.c')
-rw-r--r--libguile/goops.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libguile/goops.c b/libguile/goops.c
index eb71130aa..b3d4b0126 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -206,7 +206,10 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0,
switch (SCM_ITAG3 (x))
{
case scm_tcs_fixnums:
- return class_integer;
+ if (SCM_I_INUMP (x))
+ return class_integer;
+ else
+ return class_fraction;
#ifdef scm_tcs_iflo
case scm_tcs_iflo: