diff --git a/lib/js/transpile.sx b/lib/js/transpile.sx index fbbb452b..619d796f 100644 --- a/lib/js/transpile.sx +++ b/lib/js/transpile.sx @@ -1307,11 +1307,20 @@ (js-sym "let") (list (list (js-sym "this") (list (js-sym "js-this")))) (list - (js-sym "call/cc") + (js-sym "let") (list - (js-sym "fn") - (list (js-sym "__return__")) - (cons (js-sym "begin") (append inits body-forms))))))))) + (list + (js-sym "__r__") + (list + (js-sym "call/cc") + (list + (js-sym "fn") + (list (js-sym "__return__")) + (cons (js-sym "begin") (append inits body-forms)))))) + (list + (js-sym "if") + (list (js-sym "=") (js-sym "__r__") nil) + :js-undefined (js-sym "__r__")))))))) (define js-transpile-funcexpr-async