summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2013-08-07 05:54:15 -0400
committerMark H Weaver <mhw@netris.org>2013-08-07 05:54:15 -0400
commitd9b312af56666efa72cf15e87091b707ac600f13 (patch)
tree41a51af0b326edbd9f8efff4d7ac5c1b7cc92cb7
parentb4a099883d20d7852c95acf07ab6cbc56bce18c4 (diff)
downloadguile-d9b312af56666efa72cf15e87091b707ac600f13.tar.gz
Decompiler: fix handling of empty 'case-lambda' expressions.
* module/language/scheme/decompile-tree-il.scm (choose-output-names): A <lambda> with no <lambda-case> decompiles into a 'case-lambda' primitive. Ensure that 'case-lambda' is not shadowed by a lexical.
-rw-r--r--module/language/scheme/decompile-tree-il.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/module/language/scheme/decompile-tree-il.scm b/module/language/scheme/decompile-tree-il.scm
index f94661da4..fad857d33 100644
--- a/module/language/scheme/decompile-tree-il.scm
+++ b/module/language/scheme/decompile-tree-il.scm
@@ -697,7 +697,7 @@
((<sequence> exps) (primitive 'begin) (for-each recurse exps))
((<lambda> body)
- (if body (recurse body)))
+ (if body (recurse body) (primitive 'case-lambda)))
((<lambda-case> req opt rest kw inits gensyms body alternate)
(primitive 'lambda)