summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>2000-11-07 02:17:58 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>2000-11-07 02:17:58 +0000
commit55c4a1324010fe863ffda9c827d434b4da5c074c (patch)
treeb2d360045e56a0aacfe2c0837e7333a24a40acba
parenteb5c0a2a6cccd7313611558e1b7929fd5a3d4deb (diff)
downloadguile-55c4a1324010fe863ffda9c827d434b4da5c074c.tar.gz
* goops.c (scm_sys_invalidate_method_cache_x): Don't convert
scm_si_n_specialized from fixnum and don't take absolute value. (Thanks to Lars J. Aas.)
-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;
}