I'll use SETF to force PS to interpret the right-hand side as an expression. These are correct:<br><br>(ps (setf x (let ((a 1)) a)))<br>=><br>"x = (a6872 = 1, a6872);"<br><br>(ps (setf x (unless (null a) (1+ a))))<br>

=><br>"x = a != null ? a + 1 : null;"<br><br>But this is wrong:<br><br>(ps (setf x (let ((a (foo)))<br>                        (unless (null a)<br>                          (1+ a)))))<br>=><br>"x = (a6874 = foo(), if (a6874 != null) {<br>

    a6874 + 1;<br>});"<br><br>Daniel<br>