Commit 83f4ea appears to have implemented return values from loop expressions, which is great and something I've wanted for a long time. But there seems to be a bug insofar as the return values never actually get returned:
An example is this FOR loop - foo() should return 40 but returns NaN (10 * null) instead:
(defun foo () (* 10 (for ((i 0)) ((< i 10)) ((incf i)) (when (> i 3) (return i)))))
=>
function foo() { return 10 * (function () { var loopResultVar6945 = null; for (var i = 0; i < 10; ++i) { if (i > 3) { loopResultVar6945 = i; break; }; }; loopResultVar6945; })(); };
I get the same result using the LOOP macro, and WHILE loops have the same problem.
Daniel