Thanks to Daniel Gackle for the bug report.
(return)))))
(defprinter js:? (test then else)
- (ps-print test)
+ (if (>= (expression-precedence test) (op-precedence 'js:?))
+ (parenthesize-print test)
+ (ps-print test))
(psw " ? ")
(if (>= (expression-precedence then) (op-precedence 'js:?))
(parenthesize-print then)
var baz = -1 == x2 ? null : arguments[x2 + 1];
}"
:js-target-version 1.6)
+
+(test-ps-js nested-if-expressions1
+ (return (if (if x y z) a b))
+ "return (x ? y : z) ? a : b")
+
+(test-ps-js nested-if-expressions2
+ (return (if x y (if z a b)))
+ "return x ? y : (z ? a : b)")