diff options
author | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 2000-11-07 02:18:11 +0000 |
---|---|---|
committer | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 2000-11-07 02:18:11 +0000 |
commit | 4ea6a43186c41e3946c9c0710a8ad4d9bbcd24f5 (patch) | |
tree | 7a921912cf8c0f3abe2912ebff8d49e707c4a4f4 /libguile/objects.c | |
parent | 55c4a1324010fe863ffda9c827d434b4da5c074c (diff) | |
download | guile-4ea6a43186c41e3946c9c0710a8ad4d9bbcd24f5.tar.gz |
* eval.c (SCM_IM_DISPATCH), objects.c (scm_mcache_lookup_cmethod):
Count n_specialized + 1 turns before letting a match through.
Diffstat (limited to 'libguile/objects.c')
-rw-r--r-- | libguile/objects.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/objects.c b/libguile/objects.c index 68836dea5..5fe685349 100644 --- a/libguile/objects.c +++ b/libguile/objects.c @@ -276,7 +276,7 @@ scm_mcache_lookup_cmethod (SCM cache, SCM args) [scm_si_hashsets + hashset]; ls = SCM_CDR (ls); } - while (--j && SCM_NIMP (ls)); + while (j-- && SCM_NIMP (ls)); i &= mask; end = i; } @@ -296,7 +296,7 @@ scm_mcache_lookup_cmethod (SCM cache, SCM args) ls = SCM_CDR (ls); z = SCM_CDR (z); } - while (--j && SCM_NIMP (ls)); + while (j-- && SCM_NIMP (ls)); /* Fewer arguments than specifiers => CAR != ENV */ if (!(SCM_IMP (SCM_CAR (z)) || SCM_CONSP (SCM_CAR (z)))) goto next_method; |