-(defprinter js:block (block-type statements)
- (case block-type
- (:statement
- (psw #\{)
- (incf *indent-level*)
- (dolist (statement statements)
- (newline-and-indent) (ps-print statement) (psw #\;))
- (decf *indent-level*)
- (newline-and-indent)
- (psw #\}))
- (:expression
- (psw #\()
- (loop for (statement . remaining) on statements do
- (ps-print statement) (when remaining (psw ", ")))
- (psw #\)))))
+(defprinter js:|,| (&rest expressions)
+ (psw #\()
+ (loop for (exp . remaining) on expressions do
+ (ps-print exp) (when remaining (psw ", ")))
+ (psw #\)))
+
+(defprinter js:block (&rest statements)
+ (psw #\{)
+ (incf *indent-level*)
+ (dolist (statement statements)
+ (newline-and-indent) (ps-print statement) (psw #\;))
+ (decf *indent-level*)
+ (newline-and-indent)
+ (psw #\}))