summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-12-10 19:08:25 +0100
committerIan Price <ianprice90@googlemail.com>2013-09-09 17:01:24 +0100
commit8c91ae59f97200208962d845dbe972ad7c3cda3c (patch)
tree2fe0c1e1b95c20911152a8fd479bd76dcd49197e
parent3043dc0ef734bc62aa8e226417a98f44637b641f (diff)
downloadguile-8c91ae59f97200208962d845dbe972ad7c3cda3c.tar.gz
lua code returning via normal path
* module/language/lua/compile-tree-il.scm (compile): Get more lua code returning via the normal path.
-rw-r--r--module/language/lua/compile-tree-il.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/module/language/lua/compile-tree-il.scm b/module/language/lua/compile-tree-il.scm
index 47282334c..1cbd31882 100644
--- a/module/language/lua/compile-tree-il.scm
+++ b/module/language/lua/compile-tree-il.scm
@@ -132,10 +132,10 @@ dropped silently"
((ast-return src exp)
(if tail?
- (if (list? exp)
+ (if (and (list? exp) (not (= (length exp) 1)))
(make-application src (make-primitive-ref src 'values)
(map-compile exp))
- (compile exp #t))
+ (compile (if (list? exp) (car exp) exp) #t))
(make-application
src (make-primitive-ref src 'return/values)
(if (list? exp) (map-compile exp #t) (list (compile exp))))))