<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>