<div><font face="courier new, monospace">If you use a let within the init-form of an outer let, the result is invalid javascript code.</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">Here is a simplified example:</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">(ps (let ((x (let ((y (a))) </font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span> (b) </font></div>
<div><font face="courier new, monospace"> y)))</font></div><div><font face="courier new, monospace"> (1+ x)))</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">==></font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><div>"(function () {</div><div> var y;</div><div> var x = (y = a(), (b(), y));</div><div> return x + 1;</div>
<div>})();"</div><div><br></div><div>Not that I would normally write such code, but the inner "let" was generated by a macro.</div><div>And many macros use "let"<b style="font-style:italic"> </b>with gensyms. In my case, the macro used "ps-once-only".</div>
<div><br></div><div>Andy Peterson</div></font></div>