about summary refs log tree commit diff stats
path: root/html/shell/macroexpand.mu.html
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2021-06-15 21:50:13 -0700
committerKartik Agaram <vc@akkartik.com>2021-06-15 21:50:13 -0700
commitdd60caa3f51c5117c0193f8f3272e1c7f5230eb7 (patch)
tree4ea39cbf1550767a5004c450b807cf5c968ac5fa /html/shell/macroexpand.mu.html
parent678c9366331641111c05b4508988405c4400f026 (diff)
downloadmu-dd60caa3f51c5117c0193f8f3272e1c7f5230eb7.tar.gz
.
Diffstat (limited to 'html/shell/macroexpand.mu.html')
-rw-r--r--html/shell/macroexpand.mu.html68
1 files changed, 34 insertions, 34 deletions
diff --git a/html/shell/macroexpand.mu.html b/html/shell/macroexpand.mu.html
index 6aa63bf1..6abe8101 100644
--- a/html/shell/macroexpand.mu.html
+++ b/html/shell/macroexpand.mu.html
@@ -16,7 +16,8 @@ a { color:inherit; }
 * { font-size:12pt; font-size: 1em; }
 .LineNr { }
 .Delimiter { color: #c000c0; }
-.CommentedCode { color: #8a8a8a; }
+.muFunction { color: #af5f00; text-decoration: underline; }
+.muRegEdx { color: #878700; }
 .muRegEbx { color: #8787af; }
 .muRegEsi { color: #87d787; }
 .muRegEdi { color: #87ffd7; }
@@ -24,12 +25,11 @@ a { color:inherit; }
 .Special { color: #ff6060; }
 .PreProc { color: #c000c0; }
 .Folded { color: #080808; background-color: #949494; }
-.muFunction { color: #af5f00; text-decoration: underline; }
+.CommentedCode { color: #8a8a8a; }
 .muTest { color: #5f8700; }
 .muComment { color: #005faf; }
 .muRegEax { color: #875f00; }
 .muRegEcx { color: #af875f; }
-.muRegEdx { color: #878700; }
 -->
 </style>
 
@@ -111,8 +111,8 @@ if ('onhashchange' in window) {
 <span id="L86" class="LineNr"> 86 </span>  <span class="PreProc">var</span> rest-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> get expr, right
 <span id="L87" class="LineNr"> 87 </span>  <span class="PreProc">var</span> first/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *first-ah
 <span id="L88" class="LineNr"> 88 </span>  <span class="Delimiter">{</span>
-<span id="L89" class="LineNr"> 89 </span>    <span class="PreProc">var</span> <a href='evaluate.mu.html#L1382'>litfn?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1382'>litfn?</a> first
-<span id="L90" class="LineNr"> 90 </span>    compare <a href='evaluate.mu.html#L1382'>litfn?</a>, <span class="Constant">0</span>/false
+<span id="L89" class="LineNr"> 89 </span>    <span class="PreProc">var</span> <a href='evaluate.mu.html#L1381'>litfn?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1381'>litfn?</a> first
+<span id="L90" class="LineNr"> 90 </span>    compare <a href='evaluate.mu.html#L1381'>litfn?</a>, <span class="Constant">0</span>/false
 <span id="L91" class="LineNr"> 91 </span>    <span class="PreProc">break-if-=</span>
 <span id="L92" class="LineNr"> 92 </span>    <span class="muComment"># litfn is a literal</span>
 <span id="L93" class="LineNr"> 93 </span>    <a href='trace.mu.html#L185'>trace-text</a> trace, <span class="Constant">&quot;mac&quot;</span>, <span class="Constant">&quot;literal function&quot;</span>
@@ -120,8 +120,8 @@ if ('onhashchange' in window) {
 <span id="L95" class="LineNr"> 95 </span>    <span class="PreProc">return</span> <span class="Constant">0</span>/false
 <span id="L96" class="LineNr"> 96 </span>  <span class="Delimiter">}</span>
 <span id="L97" class="LineNr"> 97 </span>  <span class="Delimiter">{</span>
-<span id="L98" class="LineNr"> 98 </span>    <span class="PreProc">var</span> <a href='evaluate.mu.html#L1396'>litmac?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1396'>litmac?</a> first
-<span id="L99" class="LineNr"> 99 </span>    compare <a href='evaluate.mu.html#L1396'>litmac?</a>, <span class="Constant">0</span>/false
+<span id="L98" class="LineNr"> 98 </span>    <span class="PreProc">var</span> <a href='evaluate.mu.html#L1395'>litmac?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1395'>litmac?</a> first
+<span id="L99" class="LineNr"> 99 </span>    compare <a href='evaluate.mu.html#L1395'>litmac?</a>, <span class="Constant">0</span>/false
 <span id="L100" class="LineNr">100 </span>    <span class="PreProc">break-if-=</span>
 <span id="L101" class="LineNr">101 </span>    <span class="muComment"># litmac is a literal</span>
 <span id="L102" class="LineNr">102 </span>    <a href='trace.mu.html#L185'>trace-text</a> trace, <span class="Constant">&quot;mac&quot;</span>, <span class="Constant">&quot;literal macro&quot;</span>
@@ -131,8 +131,8 @@ if ('onhashchange' in window) {
 <span id="L106" class="LineNr">106 </span>  <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: boolean <span class="Special">&lt;-</span> copy <span class="Constant">0</span>/false
 <span id="L107" class="LineNr">107 </span>  <span class="muComment"># for each builtin, expand only what will later be evaluated</span>
 <span id="L108" class="LineNr">108 </span>  $macroexpand-iter:anonymous-function: <span class="Delimiter">{</span>
-<span id="L109" class="LineNr">109 </span>    <span class="PreProc">var</span> <a href='evaluate.mu.html#L1368'>fn?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1368'>fn?</a> first
-<span id="L110" class="LineNr">110 </span>    compare <a href='evaluate.mu.html#L1368'>fn?</a>, <span class="Constant">0</span>/false
+<span id="L109" class="LineNr">109 </span>    <span class="PreProc">var</span> <a href='evaluate.mu.html#L1367'>fn?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1367'>fn?</a> first
+<span id="L110" class="LineNr">110 </span>    compare <a href='evaluate.mu.html#L1367'>fn?</a>, <span class="Constant">0</span>/false
 <span id="L111" class="LineNr">111 </span>    <span class="PreProc">break-if-=</span>
 <span id="L112" class="LineNr">112 </span>    <span class="muComment"># fn: expand every expression in the body</span>
 <span id="L113" class="LineNr">113 </span>    <a href='trace.mu.html#L185'>trace-text</a> trace, <span class="Constant">&quot;mac&quot;</span>, <span class="Constant">&quot;anonymous function&quot;</span>
@@ -230,7 +230,7 @@ if ('onhashchange' in window) {
 <span id="L247" class="LineNr">247 </span>  <span class="Delimiter">{</span>
 <span id="L248" class="LineNr">248 </span>    <span class="PreProc">var</span> definition-h: (handle <a href='cell.mu.html#L1'>cell</a>)
 <span id="L249" class="LineNr">249 </span>    <span class="PreProc">var</span> definition-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> address definition-h
-<span id="L250" class="LineNr">250 </span>    <a href='global.mu.html#L352'>maybe-lookup-symbol-in-globals</a> first, definition-ah, globals, trace
+<span id="L250" class="LineNr">250 </span>    <a href='global.mu.html#L378'>maybe-lookup-symbol-in-globals</a> first, definition-ah, globals, trace
 <span id="L251" class="LineNr">251 </span>    <span class="PreProc">var</span> definition/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *definition-ah
 <span id="L252" class="LineNr">252 </span>    compare definition, <span class="Constant">0</span>
 <span id="L253" class="LineNr">253 </span>    <span class="PreProc">break-if-=</span>
@@ -244,7 +244,7 @@ if ('onhashchange' in window) {
 <span id="L261" class="LineNr">261 </span>    <span class="Delimiter">{</span>
 <span id="L262" class="LineNr">262 </span>      <span class="PreProc">var</span> definition-car-ah/<span class="muRegEax">eax</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> get definition, left
 <span id="L263" class="LineNr">263 </span>      <span class="PreProc">var</span> definition-car/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *definition-car-ah
-<span id="L264" class="LineNr">264 </span>      <span class="PreProc">var</span> macro?/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1396'>litmac?</a> definition-car
+<span id="L264" class="LineNr">264 </span>      <span class="PreProc">var</span> macro?/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1395'>litmac?</a> definition-car
 <span id="L265" class="LineNr">265 </span>      compare macro?, <span class="Constant">0</span>/false
 <span id="L266" class="LineNr">266 </span>    <span class="Delimiter">}</span>
 <span id="L267" class="LineNr">267 </span>    <span class="PreProc">break-if-=</span>
@@ -252,7 +252,7 @@ if ('onhashchange' in window) {
 <span id="L269" class="LineNr">269 </span>    <span class="PreProc">var</span> macro-definition-ah/<span class="muRegEax">eax</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> get definition, right
 <span id="L270" class="LineNr">270 </span>    <span class="muComment"># TODO: check car(macro-definition) is litfn</span>
 <span id="L271" class="LineNr">271 </span><span class="CommentedCode">#?     turn-on-debug-print</span>
-<span id="L272" class="LineNr">272 </span>    <a href='evaluate.mu.html#L607'>apply</a> macro-definition-ah, rest-ah, expr-ah, globals, trace, <span class="Constant">0</span>/no-screen, <span class="Constant">0</span>/no-keyboard, <span class="Constant">0</span>/call-number
+<span id="L272" class="LineNr">272 </span>    <a href='evaluate.mu.html#L607'>apply</a> macro-definition-ah, rest-ah, expr-ah, globals, trace, <span class="Constant">0</span>/no-screen, <span class="Constant">0</span>/no-keyboard, <span class="Constant">0</span>/definitions-created, <span class="Constant">0</span>/call-number
 <span id="L273" class="LineNr">273 </span>    <a href='trace.mu.html#L250'>trace-higher</a> trace
 <span id="L274" class="Folded">274 </span><span class="Folded">+-- 15 lines: # trace &quot;1=&gt; &quot; _expr-ah ---------------------------------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L289" class="LineNr">289 </span>    <span class="PreProc">return</span> <span class="Constant">1</span>/true
@@ -301,29 +301,29 @@ if ('onhashchange' in window) {
 <span id="L346" class="LineNr">346 </span>  <span class="Delimiter">}</span>
 <span id="L347" class="LineNr">347 </span>  <span class="PreProc">var</span> cdr-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> get expr, right
 <span id="L348" class="LineNr">348 </span>  <span class="PreProc">var</span> car-ah/<span class="muRegEbx">ebx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> get expr, left
-<span id="L349" class="LineNr">349 </span>  <span class="PreProc">var</span> <a href='evaluate.mu.html#L1142'>car</a>/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *car-ah
+<span id="L349" class="LineNr">349 </span>  <span class="PreProc">var</span> <a href='evaluate.mu.html#L1141'>car</a>/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *car-ah
 <span id="L350" class="LineNr">350 </span>  <span class="muComment"># if car is unquote or unquote-splice, check if cadr is unquote or</span>
 <span id="L351" class="LineNr">351 </span>  <span class="muComment"># unquote-splice.</span>
 <span id="L352" class="LineNr">352 </span>  $look-for-double-unquote:<a href='../502test.mu.html#L19'>check</a>: <span class="Delimiter">{</span>
 <span id="L353" class="LineNr">353 </span>    <span class="muComment"># if car is not an unquote, break</span>
 <span id="L354" class="LineNr">354 </span>    <span class="Delimiter">{</span>
 <span id="L355" class="LineNr">355 </span>      <span class="Delimiter">{</span>
-<span id="L356" class="LineNr">356 </span>        <span class="PreProc">var</span> unquote?/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='cell.mu.html#L44'>symbol-equal?</a> <a href='evaluate.mu.html#L1142'>car</a>, <span class="Constant">&quot;,&quot;</span>
+<span id="L356" class="LineNr">356 </span>        <span class="PreProc">var</span> unquote?/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='cell.mu.html#L44'>symbol-equal?</a> <a href='evaluate.mu.html#L1141'>car</a>, <span class="Constant">&quot;,&quot;</span>
 <span id="L357" class="LineNr">357 </span>        compare unquote?, <span class="Constant">0</span>/false
 <span id="L358" class="LineNr">358 </span>      <span class="Delimiter">}</span>
 <span id="L359" class="LineNr">359 </span>      <span class="PreProc">break-if-!=</span>
-<span id="L360" class="LineNr">360 </span>      <span class="PreProc">var</span> unquote-splice?/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='cell.mu.html#L44'>symbol-equal?</a> <a href='evaluate.mu.html#L1142'>car</a>, <span class="Constant">&quot;,@&quot;</span>
+<span id="L360" class="LineNr">360 </span>      <span class="PreProc">var</span> unquote-splice?/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='cell.mu.html#L44'>symbol-equal?</a> <a href='evaluate.mu.html#L1141'>car</a>, <span class="Constant">&quot;,@&quot;</span>
 <span id="L361" class="LineNr">361 </span>      compare unquote-splice?, <span class="Constant">0</span>/false
 <span id="L362" class="LineNr">362 </span>      <span class="PreProc">break-if-!=</span>
 <span id="L363" class="LineNr">363 </span>      <span class="PreProc">break</span> $look-for-double-unquote:<a href='../502test.mu.html#L19'>check</a>
 <span id="L364" class="LineNr">364 </span>    <span class="Delimiter">}</span>
 <span id="L365" class="LineNr">365 </span>    <span class="muComment"># if cdr is not a pair, break</span>
-<span id="L366" class="LineNr">366 </span>    <span class="PreProc">var</span> <a href='evaluate.mu.html#L1170'>cdr</a>/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *cdr-ah
-<span id="L367" class="LineNr">367 </span>    <span class="PreProc">var</span> cdr-type/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special">&lt;-</span> get <a href='evaluate.mu.html#L1170'>cdr</a>, <span class="PreProc">type</span>
+<span id="L366" class="LineNr">366 </span>    <span class="PreProc">var</span> <a href='evaluate.mu.html#L1169'>cdr</a>/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *cdr-ah
+<span id="L367" class="LineNr">367 </span>    <span class="PreProc">var</span> cdr-type/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special">&lt;-</span> get <a href='evaluate.mu.html#L1169'>cdr</a>, <span class="PreProc">type</span>
 <span id="L368" class="LineNr">368 </span>    compare *cdr-type, <span class="Constant">0</span>/pair
 <span id="L369" class="LineNr">369 </span>    <span class="PreProc">break-if-!=</span>
 <span id="L370" class="LineNr">370 </span>    <span class="muComment"># if cadr is not an unquote, break</span>
-<span id="L371" class="LineNr">371 </span>    <span class="PreProc">var</span> cadr-ah/<span class="muRegEax">eax</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> get <a href='evaluate.mu.html#L1170'>cdr</a>, left
+<span id="L371" class="LineNr">371 </span>    <span class="PreProc">var</span> cadr-ah/<span class="muRegEax">eax</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> get <a href='evaluate.mu.html#L1169'>cdr</a>, left
 <span id="L372" class="LineNr">372 </span>    <span class="PreProc">var</span> cadr/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *cadr-ah
 <span id="L373" class="LineNr">373 </span>    <span class="Delimiter">{</span>
 <span id="L374" class="LineNr">374 </span>      <span class="Delimiter">{</span>
@@ -352,12 +352,12 @@ if ('onhashchange' in window) {
 <span id="L397" class="LineNr">397 </span><span class="PreProc">fn</span> <span class="muTest"><a href='macroexpand.mu.html#L397'>test-macroexpand</a></span> <span class="Delimiter">{</span>
 <span id="L398" class="LineNr">398 </span>  <span class="PreProc">var</span> globals-storage: <a href='global.mu.html#L1'>global-table</a>
 <span id="L399" class="LineNr">399 </span>  <span class="PreProc">var</span> globals/<span class="muRegEdx">edx</span>: (addr <a href='global.mu.html#L1'>global-table</a>) <span class="Special">&lt;-</span> address globals-storage
-<span id="L400" class="LineNr">400 </span>  <a href='global.mu.html#L13'>initialize-globals</a> globals
+<span id="L400" class="LineNr">400 </span>  <a href='global.mu.html#L14'>initialize-globals</a> globals
 <span id="L401" class="LineNr">401 </span>  <span class="muComment"># new macro: m</span>
 <span id="L402" class="LineNr">402 </span>  <span class="PreProc">var</span> sandbox-storage: <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L403" class="LineNr">403 </span>  <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> address sandbox-storage
 <span id="L404" class="LineNr">404 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;(define m (litmac litfn () (a b) `(+ ,a ,b)))&quot;</span>
-<span id="L405" class="LineNr">405 </span>  <a href='sandbox.mu.html#L473'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk, <span class="Constant">0</span>/no-tweak-screen
+<span id="L405" class="LineNr">405 </span>  <a href='sandbox.mu.html#L453'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk
 <span id="L406" class="LineNr">406 </span>  <span class="muComment"># invoke macro</span>
 <span id="L407" class="LineNr">407 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;(m 3 4)&quot;</span>
 <span id="L408" class="LineNr">408 </span>  <span class="PreProc">var</span> gap-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get <a href='sandbox.mu.html#L1'>sandbox</a>, data
@@ -384,19 +384,19 @@ if ('onhashchange' in window) {
 <span id="L429" class="LineNr">429 </span><span class="CommentedCode">#?   dump-cell-from-cursor-over-full-screen expected-ah</span>
 <span id="L430" class="LineNr">430 </span>  <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah
 <span id="L431" class="LineNr">431 </span>  <span class="muComment">#</span>
-<span id="L432" class="LineNr">432 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1198'>cell-isomorphic?</a> result, expected, trace
+<span id="L432" class="LineNr">432 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace
 <span id="L433" class="LineNr">433 </span>  <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">&quot;F - test-macroexpand&quot;</span>
 <span id="L434" class="LineNr">434 </span><span class="Delimiter">}</span>
 <span id="L435" class="LineNr">435 </span>
 <span id="L436" class="LineNr">436 </span><span class="PreProc">fn</span> <span class="muTest"><a href='macroexpand.mu.html#L436'>test-macroexpand-inside-anonymous-fn</a></span> <span class="muFunction">{</span>
 <span id="L437" class="LineNr">437 </span>  <span class="PreProc">var</span> globals-storage: <a href='global.mu.html#L1'>global-table</a>
 <span id="L438" class="LineNr">438 </span>  <span class="PreProc">var</span> globals/<span class="muRegEdx">edx</span>: (addr <a href='global.mu.html#L1'>global-table</a>) <span class="Special">&lt;-</span> address globals-storage
-<span id="L439" class="LineNr">439 </span>  <a href='global.mu.html#L13'>initialize-globals</a> globals
+<span id="L439" class="LineNr">439 </span>  <a href='global.mu.html#L14'>initialize-globals</a> globals
 <span id="L440" class="LineNr">440 </span>  <span class="muComment"># new macro: m</span>
 <span id="L441" class="LineNr">441 </span>  <span class="PreProc">var</span> sandbox-storage: <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L442" class="LineNr">442 </span>  <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> address sandbox-storage
 <span id="L443" class="LineNr">443 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;(define m (litmac litfn () (a b) `(+ ,a ,b)))&quot;</span>
-<span id="L444" class="LineNr">444 </span>  <a href='sandbox.mu.html#L473'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk, <span class="Constant">0</span>/no-tweak-screen
+<span id="L444" class="LineNr">444 </span>  <a href='sandbox.mu.html#L453'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk
 <span id="L445" class="LineNr">445 </span>  <span class="muComment"># invoke macro</span>
 <span id="L446" class="LineNr">446 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;(fn() (m 3 4))&quot;</span>
 <span id="L447" class="LineNr">447 </span>  <span class="PreProc">var</span> gap-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get <a href='sandbox.mu.html#L1'>sandbox</a>, data
@@ -422,19 +422,19 @@ if ('onhashchange' in window) {
 <span id="L467" class="LineNr">467 </span>  <a href='read.mu.html#L1'>read-cell</a> expected-gap, expected-ah, trace
 <span id="L468" class="LineNr">468 </span>  <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah
 <span id="L469" class="LineNr">469 </span>  <span class="muComment">#</span>
-<span id="L470" class="LineNr">470 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1198'>cell-isomorphic?</a> result, expected, trace
+<span id="L470" class="LineNr">470 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace
 <span id="L471" class="LineNr">471 </span>  <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">&quot;F - test-macroexpand-inside-anonymous-fn&quot;</span>
 <span id="L472" class="LineNr">472 </span><span class="Delimiter">}</span>
 <span id="L473" class="LineNr">473 </span>
 <span id="L474" class="LineNr">474 </span><span class="PreProc">fn</span> <span class="muTest"><a href='macroexpand.mu.html#L474'>test-macroexpand-inside-fn-call</a></span> <span class="Delimiter">{</span>
 <span id="L475" class="LineNr">475 </span>  <span class="PreProc">var</span> globals-storage: <a href='global.mu.html#L1'>global-table</a>
 <span id="L476" class="LineNr">476 </span>  <span class="PreProc">var</span> globals/<span class="muRegEdx">edx</span>: (addr <a href='global.mu.html#L1'>global-table</a>) <span class="Special">&lt;-</span> address globals-storage
-<span id="L477" class="LineNr">477 </span>  <a href='global.mu.html#L13'>initialize-globals</a> globals
+<span id="L477" class="LineNr">477 </span>  <a href='global.mu.html#L14'>initialize-globals</a> globals
 <span id="L478" class="LineNr">478 </span>  <span class="muComment"># new macro: m</span>
 <span id="L479" class="LineNr">479 </span>  <span class="PreProc">var</span> sandbox-storage: <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L480" class="LineNr">480 </span>  <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> address sandbox-storage
 <span id="L481" class="LineNr">481 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;(define m (litmac litfn () (a b) `(+ ,a ,b)))&quot;</span>
-<span id="L482" class="LineNr">482 </span>  <a href='sandbox.mu.html#L473'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk, <span class="Constant">0</span>/no-tweak-screen
+<span id="L482" class="LineNr">482 </span>  <a href='sandbox.mu.html#L453'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk
 <span id="L483" class="LineNr">483 </span>  <span class="muComment"># invoke macro</span>
 <span id="L484" class="LineNr">484 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;((fn() (m 3 4)))&quot;</span>
 <span id="L485" class="LineNr">485 </span>  <span class="PreProc">var</span> gap-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get <a href='sandbox.mu.html#L1'>sandbox</a>, data
@@ -461,14 +461,14 @@ if ('onhashchange' in window) {
 <span id="L506" class="LineNr">506 </span><span class="CommentedCode">#?   dump-cell-from-cursor-over-full-screen expected-ah</span>
 <span id="L507" class="LineNr">507 </span>  <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah
 <span id="L508" class="LineNr">508 </span>  <span class="muComment">#</span>
-<span id="L509" class="LineNr">509 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1198'>cell-isomorphic?</a> result, expected, trace
+<span id="L509" class="LineNr">509 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace
 <span id="L510" class="LineNr">510 </span>  <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">&quot;F - test-macroexpand-inside-fn-call&quot;</span>
 <span id="L511" class="LineNr">511 </span><span class="Delimiter">}</span>
 <span id="L512" class="LineNr">512 </span>
 <span id="L513" class="LineNr">513 </span><span class="PreProc">fn</span> <span class="muTest"><a href='macroexpand.mu.html#L513'>test-macroexpand-repeatedly-with-backquoted-arg</a></span> <span class="Delimiter">{</span>
 <span id="L514" class="LineNr">514 </span>  <span class="PreProc">var</span> globals-storage: <a href='global.mu.html#L1'>global-table</a>
 <span id="L515" class="LineNr">515 </span>  <span class="PreProc">var</span> globals/<span class="muRegEdx">edx</span>: (addr <a href='global.mu.html#L1'>global-table</a>) <span class="Special">&lt;-</span> address globals-storage
-<span id="L516" class="LineNr">516 </span>  <a href='global.mu.html#L13'>initialize-globals</a> globals
+<span id="L516" class="LineNr">516 </span>  <a href='global.mu.html#L14'>initialize-globals</a> globals
 <span id="L517" class="LineNr">517 </span>  <span class="muComment"># macroexpand an expression with a backquote but no macro</span>
 <span id="L518" class="LineNr">518 </span>  <span class="PreProc">var</span> sandbox-storage: <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L519" class="LineNr">519 </span>  <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> address sandbox-storage
@@ -498,12 +498,12 @@ if ('onhashchange' in window) {
 <span id="L543" class="LineNr">543 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='macroexpand.mu.html#L543'>pending-test-macroexpand-inside-backquote-unquote</a></span> <span class="Delimiter">{</span>
 <span id="L544" class="LineNr">544 </span>  <span class="PreProc">var</span> globals-storage: <a href='global.mu.html#L1'>global-table</a>
 <span id="L545" class="LineNr">545 </span>  <span class="PreProc">var</span> globals/<span class="muRegEdx">edx</span>: (addr <a href='global.mu.html#L1'>global-table</a>) <span class="Special">&lt;-</span> address globals-storage
-<span id="L546" class="LineNr">546 </span>  <a href='global.mu.html#L13'>initialize-globals</a> globals
+<span id="L546" class="LineNr">546 </span>  <a href='global.mu.html#L14'>initialize-globals</a> globals
 <span id="L547" class="LineNr">547 </span>  <span class="muComment"># new macro: m</span>
 <span id="L548" class="LineNr">548 </span>  <span class="PreProc">var</span> sandbox-storage: <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L549" class="LineNr">549 </span>  <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> address sandbox-storage
 <span id="L550" class="LineNr">550 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;(define m (litmac litfn () (a b) `(+ ,a ,b)))&quot;</span>
-<span id="L551" class="LineNr">551 </span>  <a href='sandbox.mu.html#L473'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk, <span class="Constant">0</span>/no-tweak-screen
+<span id="L551" class="LineNr">551 </span>  <a href='sandbox.mu.html#L453'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk
 <span id="L552" class="LineNr">552 </span>  <span class="muComment"># invoke macro</span>
 <span id="L553" class="LineNr">553 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;`(print [result is ] ,(m 3 4)))&quot;</span>
 <span id="L554" class="LineNr">554 </span>  <span class="PreProc">var</span> gap-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get <a href='sandbox.mu.html#L1'>sandbox</a>, data
@@ -529,19 +529,19 @@ if ('onhashchange' in window) {
 <span id="L574" class="LineNr">574 </span>  <a href='read.mu.html#L1'>read-cell</a> expected-gap, expected-ah, trace
 <span id="L575" class="LineNr">575 </span>  <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah
 <span id="L576" class="LineNr">576 </span>  <span class="muComment">#</span>
-<span id="L577" class="LineNr">577 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1198'>cell-isomorphic?</a> result, expected, trace
+<span id="L577" class="LineNr">577 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace
 <span id="L578" class="LineNr">578 </span>  <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">&quot;F - test-macroexpand-inside-backquote-unquote&quot;</span>
 <span id="L579" class="LineNr">579 </span><span class="Delimiter">}</span>
 <span id="L580" class="LineNr">580 </span>
 <span id="L581" class="LineNr">581 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='macroexpand.mu.html#L581'>pending-test-macroexpand-inside-nested-backquote-unquote</a></span> <span class="Delimiter">{</span>
 <span id="L582" class="LineNr">582 </span>  <span class="PreProc">var</span> globals-storage: <a href='global.mu.html#L1'>global-table</a>
 <span id="L583" class="LineNr">583 </span>  <span class="PreProc">var</span> globals/<span class="muRegEdx">edx</span>: (addr <a href='global.mu.html#L1'>global-table</a>) <span class="Special">&lt;-</span> address globals-storage
-<span id="L584" class="LineNr">584 </span>  <a href='global.mu.html#L13'>initialize-globals</a> globals
+<span id="L584" class="LineNr">584 </span>  <a href='global.mu.html#L14'>initialize-globals</a> globals
 <span id="L585" class="LineNr">585 </span>  <span class="muComment"># new macro: m</span>
 <span id="L586" class="LineNr">586 </span>  <span class="PreProc">var</span> sandbox-storage: <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L587" class="LineNr">587 </span>  <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> address sandbox-storage
 <span id="L588" class="LineNr">588 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;(define m (litmac litfn () (a b) `(+ ,a ,b)))&quot;</span>
-<span id="L589" class="LineNr">589 </span>  <a href='sandbox.mu.html#L473'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk, <span class="Constant">0</span>/no-tweak-screen
+<span id="L589" class="LineNr">589 </span>  <a href='sandbox.mu.html#L453'>edit-sandbox</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">0x13</span>/ctrl-s, globals, <span class="Constant">0</span>/no-disk
 <span id="L590" class="LineNr">590 </span>  <span class="muComment"># invoke macro</span>
 <span id="L591" class="LineNr">591 </span>  <a href='sandbox.mu.html#L41'>initialize-sandbox-with</a> <a href='sandbox.mu.html#L1'>sandbox</a>, <span class="Constant">&quot;`(a ,(m 3 4) `(b ,(m 3 4) ,,(m 3 4)))&quot;</span>
 <span id="L592" class="LineNr">592 </span>  <span class="PreProc">var</span> gap-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get <a href='sandbox.mu.html#L1'>sandbox</a>, data
@@ -568,7 +568,7 @@ if ('onhashchange' in window) {
 <span id="L613" class="LineNr">613 </span>  <a href='print.mu.html#L136'>dump-cell-from-cursor-over-full-screen</a> expected-ah
 <span id="L614" class="LineNr">614 </span>  <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah
 <span id="L615" class="LineNr">615 </span>  <span class="muComment">#</span>
-<span id="L616" class="LineNr">616 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1198'>cell-isomorphic?</a> result, expected, trace
+<span id="L616" class="LineNr">616 </span>  <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special">&lt;-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace
 <span id="L617" class="LineNr">617 </span>  <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">&quot;F - test-macroexpand-inside-nested-backquote-unquote&quot;</span>
 <span id="L618" class="LineNr">618 </span><span class="Delimiter">}</span>
 <span id="L619" class="LineNr">619 </span>