progn translation uses ',' Javascript operator
authorDavid Vázquez <davazp@gmail.com>
Sat, 25 May 2013 13:23:30 +0000 (14:23 +0100)
committerDavid Vázquez <davazp@gmail.com>
Sat, 25 May 2013 13:23:30 +0000 (14:23 +0100)
New compiler should deprecate this soon

src/compiler.lisp

index 46817ed..3a74399 100644 (file)
 (define-compilation progn (&rest body)
   (if (null (cdr body))
       (ls-compile (car body) *multiple-value-p*)
-      (js!selfcall (ls-compile-block body t))))
+      (code "("
+            (join
+             (remove-if #'null-or-empty-p
+                        (append
+                         (mapcar #'ls-compile (butlast body))
+                         (list (ls-compile (car (last body)) t))))
+                  ",")
+            ")")))
 
 (defun special-variable-p (x)
   (and (claimp x 'variable 'special) t))