diff options
author | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 2000-11-07 02:17:58 +0000 |
---|---|---|
committer | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 2000-11-07 02:17:58 +0000 |
commit | 55c4a1324010fe863ffda9c827d434b4da5c074c (patch) | |
tree | b2d360045e56a0aacfe2c0837e7333a24a40acba | |
parent | eb5c0a2a6cccd7313611558e1b7929fd5a3d4deb (diff) | |
download | guile-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.c | 5 |
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; } |