Here are some things I ran across while inspecting the effect of implicit return on our code.<br><br>1. Recently, PS started putting curly braces around case blocks in switch statements. It seems like this is unnecessary, at least in the examples I was looking at.<br>
<br>2. I noticed that an space was inserted after "default:" in case statements. Since it's followed by a newline, this is unnecessary. I commited a patch to take the space out. This is of course a trivial issue, but it was messing up our diffs in certain circumstances.<br>
<br>3. When defining a setfable place as follows,<br><br> (ps (defun (setf blah) (a b) (whatever)))<br><br>and calling it as follows,<br><br> (ps (setf (blah c) d)))<br><br>PS insists on assigning the function arguments to temporarily variables before passing them to the function:<br>
<br>"var _js16974 = c;<br>var _js16973 = d;<br>__setf_blah(_js16973, _js16974);"<br><br>This makes me cringe. Is it really necessary? I'm thinking perhaps there's some weird case where you need to control evaluation differently, but it's obviously not doing so here.<br>
<br>Daniel<br>