1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-24 12:20:20 +02:00

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.
This commit is contained in:
Andy Wingo 2017-02-22 23:07:27 +01:00
parent 4dcc97288d
commit c7fb87cd6e
2 changed files with 12 additions and 1 deletions

View file

@ -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))