The following bug in PS broke my code today:
(ps (aref (if (and x (> (length x) 0))
(aref x 0)
y)
z))
=> "x && x.length > 0 ? x[0] : y[z];"
Obviously, this should be:
(x && x.length > 0 ? x[0] : y)[z]
You can see a similar bug here:
(ps (aref (or (slot-value x 'y)
(slot-value a 'b))
z))
=> "x.y || a.b[z];"
and here again:
(ps (- (if x y z)))
=> "-x ? y : z;"
Clearly, there's a problem with not parenthesizing things.
Since the last patch or two I've sent have been ignored, I won't send a new one here, but rather ask: is PS being actively maintained or not? This project is too valuable to let fade.
Dan