diff options
-rw-r--r-- | module/language/elisp/compile-tree-il.scm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/module/language/elisp/compile-tree-il.scm b/module/language/elisp/compile-tree-il.scm index 293495495..1a4d00faa 100644 --- a/module/language/elisp/compile-tree-il.scm +++ b/module/language/elisp/compile-tree-il.scm @@ -326,7 +326,14 @@ (ensure-globals! loc dynamic-ids - (let* ((tree-il (compile-expr `(progn ,@forms))) + (let* ((tree-il + (compile-expr + (if rest-id + `(let ((,rest-id (if ,rest-id + ,rest-id + nil))) + ,@forms) + `(progn ,@forms)))) (full-body (if (null? dynamic) tree-il |