diff options
author | Andy Wingo <wingo@pobox.com> | 2013-01-14 11:38:09 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2013-01-14 11:38:09 +0100 |
commit | 581f410fbd803721eb750ed8e7d6ec4cc4bcda79 (patch) | |
tree | 7406b3fe4d94dcc8cf651f6f0957ead88dd1bb6a /doc/ref/hierarchy.pdf | |
parent | 18c5bffe96947ee82a29b115e758d7357cefbbe9 (diff) | |
download | guile-581f410fbd803721eb750ed8e7d6ec4cc4bcda79.tar.gz |
case-lambda* clauses fail to match if too many positionals
* doc/ref/api-procedures.texi (Case-lambda): Expand case-lambda*
documentation.
* module/ice-9/eval.scm (primitive-eval):
* libguile/eval.c (prepare_boot_closure_env_for_apply): Dispatch to the
next case-lambda clause if there are too many positionals.
* doc/ref/vm.texi (Function Prologue Instructions):
* libguile/vm-i-system.c (bind-optionals/shuffle-or-br): New
instruction, like bind-optionals/shuffle but can dispatch to the next
clause if there are too many positionals.
* module/language/assembly/disassemble.scm (code-annotation):
* module/language/assembly/decompile-bytecode.scm (decode-load-program):
* module/language/assembly/compile-bytecode.scm (compile-bytecode): Add
case for bind-optionals/shuffle-or-br.
* module/language/glil/compile-assembly.scm (glil->assembly): If there
is an alternate, use bind-optionals/shuffle-or-br instead of
bind-optionals/shuffle.
* test-suite/tests/optargs.test ("case-lambda*"): Add tests.
Diffstat (limited to 'doc/ref/hierarchy.pdf')
0 files changed, 0 insertions, 0 deletions