summaryrefslogtreecommitdiff
path: root/module/language/lua/compile-tree-il.scm
diff options
context:
space:
mode:
authorIan Price <ianprice90@googlemail.com>2013-04-18 00:03:34 +0100
committerIan Price <ianprice90@googlemail.com>2013-09-09 17:03:52 +0100
commit84a410dbd21e84b8cfffbf9dbc4e3924c7137391 (patch)
treeebf84e3eb9b1639209f097db1466c0adedd189a8 /module/language/lua/compile-tree-il.scm
parentb3a7711ba07c357d2c2aa2b51638de1c6239862a (diff)
downloadguile-84a410dbd21e84b8cfffbf9dbc4e3924c7137391.tar.gz
Fix code generated for `while'.
* module/language/lua/compile-tree-il.scm (while-loop->tree-il): Generate `letrec' instead of `let'. Generate valid `lambda' expression.
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 e0ecfa3c5..4472b05f3 100644
--- a/module/language/lua/compile-tree-il.scm
+++ b/module/language/lua/compile-tree-il.scm
@@ -90,10 +90,10 @@
(list
(make-const src 'lua-break)
(make-argless-lambda src
- (make-let
+ (make-letrec #f
src
parameters parameters
- (list (make-lambda src '() (get-body name)))
+ (list (make-argless-lambda src (get-body name)))
(make-call src (make-lexical-ref src name name) '())))
(make-arg-ignoring-lambda src
(make-void src))))))