summaryrefslogtreecommitdiff
path: root/module/language/lua/compile-tree-il.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/language/lua/compile-tree-il.scm')
-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))))))