(or (cdr (assoc name *lexical-bindings*))
name))
-(defprinter js:let (variables expression)
+(defprinter js:let (variables &body body)
(let ((*lexical-bindings*
(append (mapcar (lambda (var)
(cons var (if (assoc var *lexical-bindings*)
(ps-gensym var)
var)))
variables))))
- (ps-print expression)))
+ (loop for (exp . remaining) on body do
+ (ps-print exp) (when remaining (psw ";") (newline-and-indent)))))
(defprinter js:variable (var)
(psw (symbol-to-js-string (rename-js-variable var))))