diff options
author | Andy Wingo <wingo@pobox.com> | 2017-02-22 23:07:27 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2017-02-22 23:10:46 +0100 |
commit | c7fb87cd6e8ccf7e2a47c715a1d4a6cf82d846a3 (patch) | |
tree | 333c5b35169d3f755e89d00488514ceec735f885 /module/oop | |
parent | 4dcc97288dc2c43ea9f2e61fdb1357cec3936fc9 (diff) |
Fix multi-arity dispatch in GOOPS
* module/oop/goops.scm (multiple-arity-dispatcher): Fix dispatch for
max-arity+1 when a generic is already in multiple-arity dispatch.
Fixes #24454.
* test-suite/tests/goops.test ("dispatch"): Add test.
Diffstat (limited to 'module/oop')
-rw-r--r-- | module/oop/goops.scm | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/oop/goops.scm b/module/oop/goops.scm index e4f51600e..ece03c6e0 100644 --- a/module/oop/goops.scm +++ b/module/oop/goops.scm @@ -1333,7 +1333,7 @@ function." #`(case-lambda #,@(build-clauses #'(arg ...)) (args (apply miss args))))))) - (arity-case (vector-length fv) 20 dispatch + (arity-case (1- (vector-length fv)) 20 dispatch (lambda args (let ((nargs (length args))) (if (< nargs (vector-length fv)) |