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, 2 insertions, 3 deletions
diff --git a/libguile/goops.c b/libguile/goops.c
index a470ab65a..485d067a3 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -1634,10 +1634,9 @@ scm_sys_invalidate_method_cache_x (SCM gf)
SCM_SLOT (SCM_CAR (methods), scm_si_code_table) = SCM_EOL;
}
{
- int n = SCM_INUM (SCM_SLOT (gf, scm_si_n_specialized));
+ SCM n = SCM_SLOT (gf, scm_si_n_specialized);
/* The sign of n is a flag indicating rest args. */
- SCM_SET_MCACHE_N_SPECIALIZED (SCM_ENTITY_PROCEDURE (gf),
- SCM_MAKINUM (n >= 0 ? n : -n));
+ SCM_SET_MCACHE_N_SPECIALIZED (SCM_ENTITY_PROCEDURE (gf), n);
}
return SCM_UNSPECIFIED;
}