The following bug in PS broke my code today:<br><br> (ps (aref (if (and x (> (length x) 0))<br> (aref x 0)<br> y)<br> z))<br> => "x && x.length > 0 ? x[0] : y[z];"<br>
<br>Obviously, this should be:<br><br> (x && x.length > 0 ? x[0] : y)[z]<br><br>You can see a similar bug here:<br><br> (ps (aref (or (slot-value x 'y)<br> (slot-value a 'b))<br> z))<br>
=> "x.y || a.b[z];"<br><br>and here again:<br><br> (ps (- (if x y z)))<br> => "-x ? y : z;"<br><br>Clearly, there's a problem with not parenthesizing things. <br><br>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.<br>
<br>Dan<br>