about summary refs log tree commit diff stats
path: root/html/browse-slack/environment.mu.html
diff options
context:
space:
mode:
Diffstat (limited to 'html/browse-slack/environment.mu.html')
-rw-r--r--html/browse-slack/environment.mu.html144
1 files changed, 72 insertions, 72 deletions
diff --git a/html/browse-slack/environment.mu.html b/html/browse-slack/environment.mu.html
index 7aa80b46..8cd7b1cb 100644
--- a/html/browse-slack/environment.mu.html
+++ b/html/browse-slack/environment.mu.html
@@ -198,15 +198,15 @@ if ('onhashchange' in window) {
 <span id="L134" class="LineNr"> 134 </span>    <span class="Delimiter">{</span>
 <span id="L135" class="LineNr"> 135 </span>      compare cursor-index, i
 <span id="L136" class="LineNr"> 136 </span>      <span class="PreProc">break-if-=</span>
-<span id="L137" class="LineNr"> 137 </span>      <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;#&quot;</span>, <span class="Constant">7</span>/grey <span class="Constant">0</span>/black
-<span id="L138" class="LineNr"> 138 </span>      <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, name, <span class="Constant">7</span>/grey <span class="Constant">0</span>/black
+<span id="L137" class="LineNr"> 137 </span>      <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;#&quot;</span>, <span class="Constant">7</span>/grey <span class="Constant">0</span>/black
+<span id="L138" class="LineNr"> 138 </span>      <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, name, <span class="Constant">7</span>/grey <span class="Constant">0</span>/black
 <span id="L139" class="LineNr"> 139 </span>    <span class="Delimiter">}</span>
 <span id="L140" class="LineNr"> 140 </span>    <span class="Delimiter">{</span>
 <span id="L141" class="LineNr"> 141 </span>      compare cursor-index, i
 <span id="L142" class="LineNr"> 142 </span>      <span class="PreProc">break-if-!=</span>
 <span id="L143" class="LineNr"> 143 </span>      <span class="muComment"># cursor; reverse video</span>
-<span id="L144" class="LineNr"> 144 </span>      <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;#&quot;</span>, <span class="Constant">0</span>/black <span class="Constant">0xf</span>/white
-<span id="L145" class="LineNr"> 145 </span>      <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, name, <span class="Constant">0</span>/black <span class="Constant">0xf</span>/white
+<span id="L144" class="LineNr"> 144 </span>      <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;#&quot;</span>, <span class="Constant">0</span>/black <span class="Constant">0xf</span>/white
+<span id="L145" class="LineNr"> 145 </span>      <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, name, <span class="Constant">0</span>/black <span class="Constant">0xf</span>/white
 <span id="L146" class="LineNr"> 146 </span>    <span class="Delimiter">}</span>
 <span id="L147" class="LineNr"> 147 </span>    y <span class="Special">&lt;-</span> add <span class="Constant">2</span>/channel-padding
 <span id="L148" class="LineNr"> 148 </span>    i <span class="Special">&lt;-</span> increment
@@ -325,7 +325,7 @@ if ('onhashchange' in window) {
 <span id="L261" class="LineNr"> 261 </span>  <span class="PreProc">var</span> i/<span class="muRegEbx">ebx</span>: int <span class="Special">&lt;-</span> copy *current-channel-first-channel-item-addr
 <span id="L262" class="LineNr"> 262 </span>  <span class="PreProc">var</span> current-channel-posts-first-free-addr/eax: (addr int) <span class="Special">&lt;-</span> get current-channel, posts-first-free
 <span id="L263" class="LineNr"> 263 </span>  <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <span class="Constant">0</span>/screen, <span class="Constant">0x68</span>/x <span class="Constant">0</span>/y
-<span id="L264" class="LineNr"> 264 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;channel&quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
+<span id="L264" class="LineNr"> 264 </span>  <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;channel&quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
 <span id="L265" class="LineNr"> 265 </span>  <a href='environment.mu.html#L368'>render-progress</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, i, *current-channel-posts-first-free-addr
 <span id="L266" class="LineNr"> 266 </span>  <span class="PreProc">var</span> items-data-ah/eax: (addr handle array <a href='main.mu.html#L14'>item</a>) <span class="Special">&lt;-</span> get items, data
 <span id="L267" class="LineNr"> 267 </span>  <span class="PreProc">var</span> _items-data/eax: (addr array <a href='main.mu.html#L14'>item</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L235'>lookup</a> *items-data-ah
@@ -359,13 +359,13 @@ if ('onhashchange' in window) {
 <span id="L295" class="LineNr"> 295 </span>  <span class="PreProc">var</span> i/<span class="muRegEdx">edx</span>: int <span class="Special">&lt;-</span> copy *current-tab-top-item-addr
 <span id="L296" class="LineNr"> 296 </span>  <span class="PreProc">var</span> current-tab-search-items-first-free-addr/eax: (addr int) <span class="Special">&lt;-</span> get current-tab, search-items-first-free
 <span id="L297" class="LineNr"> 297 </span>  <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <span class="Constant">0</span>/screen, <span class="Constant">0x68</span>/x <span class="Constant">0</span>/y
-<span id="L298" class="LineNr"> 298 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;search&quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
+<span id="L298" class="LineNr"> 298 </span>  <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;search&quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
 <span id="L299" class="LineNr"> 299 </span>  <a href='environment.mu.html#L368'>render-progress</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, i, *current-tab-search-items-first-free-addr
 <span id="L300" class="LineNr"> 300 </span>  <span class="Delimiter">{</span>
 <span id="L301" class="LineNr"> 301 </span>    compare *current-tab-search-items-first-free-addr, <span class="Constant">0x100</span>/max-search-results
 <span id="L302" class="LineNr"> 302 </span>    <span class="PreProc">break-if-&lt;</span>
 <span id="L303" class="LineNr"> 303 </span>    <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <span class="Constant">0</span>/screen, <span class="Constant">0x68</span>/x <span class="Constant">1</span>/y
-<span id="L304" class="LineNr"> 304 </span>    <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;too many results&quot;</span>, <span class="Constant">4</span>/fg <span class="Constant">0</span>/bg
+<span id="L304" class="LineNr"> 304 </span>    <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;too many results&quot;</span>, <span class="Constant">4</span>/fg <span class="Constant">0</span>/bg
 <span id="L305" class="LineNr"> 305 </span>  <span class="Delimiter">}</span>
 <span id="L306" class="LineNr"> 306 </span>  <span class="PreProc">var</span> items-data-ah/eax: (addr handle array <a href='main.mu.html#L14'>item</a>) <span class="Special">&lt;-</span> get items, data
 <span id="L307" class="LineNr"> 307 </span>  <span class="PreProc">var</span> _items-data/eax: (addr array <a href='main.mu.html#L14'>item</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L235'>lookup</a> *items-data-ah
@@ -403,7 +403,7 @@ if ('onhashchange' in window) {
 <span id="L339" class="LineNr"> 339 </span>  <span class="PreProc">var</span> i/<span class="muRegEdx">edx</span>: int <span class="Special">&lt;-</span> copy *current-tab-top-item-addr
 <span id="L340" class="LineNr"> 340 </span>  <span class="PreProc">var</span> post-comments-first-free-addr/eax: (addr int) <span class="Special">&lt;-</span> get post, comments-first-free
 <span id="L341" class="LineNr"> 341 </span>  <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <span class="Constant">0</span>/screen, <span class="Constant">0x68</span>/x <span class="Constant">0</span>/y
-<span id="L342" class="LineNr"> 342 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;thread&quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
+<span id="L342" class="LineNr"> 342 </span>  <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;thread&quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
 <span id="L343" class="LineNr"> 343 </span>  <a href='environment.mu.html#L368'>render-progress</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, i, *post-comments-first-free-addr
 <span id="L344" class="LineNr"> 344 </span>  <span class="PreProc">var</span> post-comments-ah/eax: (addr handle array int) <span class="Special">&lt;-</span> get post, comments
 <span id="L345" class="LineNr"> 345 </span>  <span class="PreProc">var</span> post-comments/eax: (addr array int) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L235'>lookup</a> *post-comments-ah
@@ -433,16 +433,16 @@ if ('onhashchange' in window) {
 <span id="L369" class="LineNr"> 369 </span>  <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <span class="Constant">0</span>/screen, <span class="Constant">0x70</span>/x <span class="Constant">0</span>/y
 <span id="L370" class="LineNr"> 370 </span>  <span class="PreProc">var</span> top-index/eax: int <span class="Special">&lt;-</span> copy max
 <span id="L371" class="LineNr"> 371 </span>  top-index <span class="Special">&lt;-</span> subtract curr  <span class="muComment"># happy accident: 1-based</span>
-<span id="L372" class="LineNr"> 372 </span>  <a href='../501draw-text.mu.html#L449'>draw-int32-decimal-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, top-index, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
-<span id="L373" class="LineNr"> 373 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;/&quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
-<span id="L374" class="LineNr"> 374 </span>  <a href='../501draw-text.mu.html#L449'>draw-int32-decimal-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, max, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
+<span id="L372" class="LineNr"> 372 </span>  <a href='../501draw-text.mu.html#L442'>draw-int32-decimal-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, top-index, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
+<span id="L373" class="LineNr"> 373 </span>  <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;/&quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
+<span id="L374" class="LineNr"> 374 </span>  <a href='../501draw-text.mu.html#L442'>draw-int32-decimal-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, max, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
 <span id="L375" class="LineNr"> 375 </span><span class="Delimiter">}</span>
 <span id="L376" class="LineNr"> 376 </span>
 <span id="L377" class="LineNr"> 377 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L377'>render-search-input</a></span> <a href='../500fake-screen.mu.html#L16'>screen</a>: (addr <a href='../500fake-screen.mu.html#L16'>screen</a>), _env: (addr <a href='environment.mu.html#L1'>environment</a>) <span class="Delimiter">{</span>
 <span id="L378" class="LineNr"> 378 </span>  <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L1'>environment</a>) <span class="Special">&lt;-</span> copy _env
 <span id="L379" class="LineNr"> 379 </span>  <span class="PreProc">var</span> cursor-in-search?/<span class="muRegEcx">ecx</span>: (addr boolean) <span class="Special">&lt;-</span> get env, cursor-in-search?
 <span id="L380" class="LineNr"> 380 </span>  <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <span class="Constant">0</span>/screen, <span class="Constant">0x22</span>/x=search-position-x <span class="Constant">1</span>/y
-<span id="L381" class="LineNr"> 381 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;search &quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
+<span id="L381" class="LineNr"> 381 </span>  <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;search &quot;</span>, <span class="Constant">7</span>/fg <span class="Constant">0</span>/bg
 <span id="L382" class="LineNr"> 382 </span>  <span class="PreProc">var</span> search-terms-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get env, search-terms
 <span id="L383" class="LineNr"> 383 </span>  <span class="PreProc">var</span> search-terms/eax: (addr <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L235'>lookup</a> *search-terms-ah
 <span id="L384" class="LineNr"> 384 </span>  <a href='../514gap-buffer.mu.html#L1014'>rewind-gap-buffer</a> search-terms
@@ -451,7 +451,7 @@ if ('onhashchange' in window) {
 <span id="L387" class="LineNr"> 387 </span>    compare x, <span class="Constant">0x4a</span>/end-search
 <span id="L388" class="LineNr"> 388 </span>    <span class="PreProc">break-if-&gt;</span>
 <span id="L389" class="LineNr"> 389 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L390" class="LineNr"> 390 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x5f</span>/underscore, <span class="Constant">0</span>/xmin <span class="Constant">1</span>/ymin, <span class="Constant">0x80</span>/xmax, <span class="Constant">1</span>/ymax, x, <span class="Constant">1</span>/y, <span class="Constant">0xf</span>/fg <span class="Constant">0</span>/bg
+<span id="L390" class="LineNr"> 390 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x5f</span>/underscore, <span class="Constant">0</span>/xmin <span class="Constant">1</span>/ymin, <span class="Constant">0x80</span>/xmax, <span class="Constant">1</span>/ymax, x, <span class="Constant">1</span>/y, <span class="Constant">0xf</span>/fg <span class="Constant">0</span>/bg
 <span id="L391" class="LineNr"> 391 </span>    <span class="PreProc">loop</span>
 <span id="L392" class="LineNr"> 392 </span>  <span class="Delimiter">}</span>
 <span id="L393" class="LineNr"> 393 </span><span class="Delimiter">}</span>
@@ -487,30 +487,30 @@ if ('onhashchange' in window) {
 <span id="L423" class="LineNr"> 423 </span>    <span class="PreProc">var</span> num-tabs/<span class="muRegEdi">edi</span>: (addr int) <span class="Special">&lt;-</span> get env, current-tab-index
 <span id="L424" class="LineNr"> 424 </span>    compare *num-tabs, <span class="Constant">0</span>
 <span id="L425" class="LineNr"> 425 </span>    <span class="PreProc">break-if-&lt;=</span>
-<span id="L426" class="LineNr"> 426 </span>    <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Esc &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L427" class="LineNr"> 427 </span>    <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go back  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L426" class="LineNr"> 426 </span>    <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Esc &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L427" class="LineNr"> 427 </span>    <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go back  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
 <span id="L428" class="LineNr"> 428 </span>  <span class="Delimiter">}</span>
-<span id="L429" class="LineNr"> 429 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; / &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L430" class="LineNr"> 430 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; search  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L431" class="LineNr"> 431 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Tab &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L432" class="LineNr"> 432 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go to channels  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L433" class="LineNr"> 433 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Enter &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L434" class="LineNr"> 434 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go to thread  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L429" class="LineNr"> 429 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; / &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L430" class="LineNr"> 430 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; search  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L431" class="LineNr"> 431 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Tab &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L432" class="LineNr"> 432 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go to channels  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L433" class="LineNr"> 433 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Enter &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L434" class="LineNr"> 434 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go to thread  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
 <span id="L435" class="LineNr"> 435 </span>  <span class="Delimiter">{</span>
 <span id="L436" class="LineNr"> 436 </span>    <span class="Delimiter">{</span>
 <span id="L437" class="LineNr"> 437 </span>      <span class="PreProc">var</span> is-all-items-or-channel?/eax: boolean <span class="Special">&lt;-</span> <a href='environment.mu.html#L945'>current-tab-is-all-items-or-channel?</a> _env
 <span id="L438" class="LineNr"> 438 </span>      compare is-all-items-or-channel?, <span class="Constant">0</span>/false
 <span id="L439" class="LineNr"> 439 </span>    <span class="Delimiter">}</span>
 <span id="L440" class="LineNr"> 440 </span>    <span class="PreProc">break-if-=</span>
-<span id="L441" class="LineNr"> 441 </span>    <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^h &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L442" class="LineNr"> 442 </span>    <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; hide thread  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L443" class="LineNr"> 443 </span>    <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^u &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L444" class="LineNr"> 444 </span>    <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; unhide all  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L441" class="LineNr"> 441 </span>    <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^h &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L442" class="LineNr"> 442 </span>    <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; hide thread  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L443" class="LineNr"> 443 </span>    <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^u &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L444" class="LineNr"> 444 </span>    <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; unhide all  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
 <span id="L445" class="LineNr"> 445 </span>  <span class="Delimiter">}</span>
-<span id="L446" class="LineNr"> 446 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^b &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L447" class="LineNr"> 447 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; &lt;&lt; page  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L448" class="LineNr"> 448 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^f &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L449" class="LineNr"> 449 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; page &gt;&gt;  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L446" class="LineNr"> 446 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^b &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L447" class="LineNr"> 447 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; &lt;&lt; page  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L448" class="LineNr"> 448 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^f &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L449" class="LineNr"> 449 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; page &gt;&gt;  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
 <span id="L450" class="LineNr"> 450 </span><span class="Delimiter">}</span>
 <span id="L451" class="LineNr"> 451 </span>
 <span id="L452" class="LineNr"> 452 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L452'>render-channels-menu</a></span> <a href='../500fake-screen.mu.html#L16'>screen</a>: (addr <a href='../500fake-screen.mu.html#L16'>screen</a>), _env: (addr <a href='environment.mu.html#L1'>environment</a>) <span class="Delimiter">{</span>
@@ -524,15 +524,15 @@ if ('onhashchange' in window) {
 <span id="L460" class="LineNr"> 460 </span>    <span class="PreProc">var</span> num-tabs/<span class="muRegEdi">edi</span>: (addr int) <span class="Special">&lt;-</span> get env, current-tab-index
 <span id="L461" class="LineNr"> 461 </span>    compare *num-tabs, <span class="Constant">0</span>
 <span id="L462" class="LineNr"> 462 </span>    <span class="PreProc">break-if-&lt;=</span>
-<span id="L463" class="LineNr"> 463 </span>    <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Esc &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L464" class="LineNr"> 464 </span>    <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go back  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L463" class="LineNr"> 463 </span>    <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Esc &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L464" class="LineNr"> 464 </span>    <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go back  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
 <span id="L465" class="LineNr"> 465 </span>  <span class="Delimiter">}</span>
-<span id="L466" class="LineNr"> 466 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; / &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L467" class="LineNr"> 467 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; search  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L468" class="LineNr"> 468 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Tab &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L469" class="LineNr"> 469 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go to items  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L470" class="LineNr"> 470 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Enter &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L471" class="LineNr"> 471 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; select  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L466" class="LineNr"> 466 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; / &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L467" class="LineNr"> 467 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; search  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L468" class="LineNr"> 468 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Tab &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L469" class="LineNr"> 469 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; go to items  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L470" class="LineNr"> 470 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Enter &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L471" class="LineNr"> 471 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; select  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
 <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="muFunction"><a href='environment.mu.html#L474'>render-search-menu</a></span> <a href='../500fake-screen.mu.html#L16'>screen</a>: (addr <a href='../500fake-screen.mu.html#L16'>screen</a>), _env: (addr <a href='environment.mu.html#L1'>environment</a>) <span class="Delimiter">{</span>
@@ -541,20 +541,20 @@ if ('onhashchange' in window) {
 <span id="L477" class="LineNr"> 477 </span>  width, y <span class="Special">&lt;-</span> <a href='../500fake-screen.mu.html#L75'>screen-size</a> <a href='../500fake-screen.mu.html#L16'>screen</a>
 <span id="L478" class="LineNr"> 478 </span>  y <span class="Special">&lt;-</span> decrement
 <span id="L479" class="LineNr"> 479 </span>  <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">2</span>/x, y
-<span id="L480" class="LineNr"> 480 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Esc &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L481" class="LineNr"> 481 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; cancel  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L482" class="LineNr"> 482 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Enter &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
-<span id="L483" class="LineNr"> 483 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; select  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L484" class="LineNr"> 484 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^a &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
-<span id="L485" class="LineNr"> 485 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; &lt;&lt;  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L486" class="LineNr"> 486 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^b &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
-<span id="L487" class="LineNr"> 487 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; &lt;word  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L488" class="LineNr"> 488 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^f &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
-<span id="L489" class="LineNr"> 489 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; word&gt;  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L490" class="LineNr"> 490 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^e &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
-<span id="L491" class="LineNr"> 491 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; &gt;&gt;  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
-<span id="L492" class="LineNr"> 492 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^u &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
-<span id="L493" class="LineNr"> 493 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; clear  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L480" class="LineNr"> 480 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Esc &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L481" class="LineNr"> 481 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; cancel  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L482" class="LineNr"> 482 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; Enter &quot;</span>, width, <span class="Constant">0</span>/fg <span class="Constant">0xf</span>/bg
+<span id="L483" class="LineNr"> 483 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; select  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L484" class="LineNr"> 484 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^a &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
+<span id="L485" class="LineNr"> 485 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; &lt;&lt;  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L486" class="LineNr"> 486 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^b &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
+<span id="L487" class="LineNr"> 487 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; &lt;word  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L488" class="LineNr"> 488 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^f &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
+<span id="L489" class="LineNr"> 489 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; word&gt;  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L490" class="LineNr"> 490 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^e &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
+<span id="L491" class="LineNr"> 491 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; &gt;&gt;  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
+<span id="L492" class="LineNr"> 492 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; ^u &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xf</span>/bg
+<span id="L493" class="LineNr"> 493 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot; clear  &quot;</span>, width, <span class="Constant">0xf</span>/fg, <span class="Constant">0</span>/bg
 <span id="L494" class="LineNr"> 494 </span><span class="Delimiter">}</span>
 <span id="L495" class="LineNr"> 495 </span>
 <span id="L496" class="LineNr"> 496 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L496'>render-item</a></span> <a href='../500fake-screen.mu.html#L16'>screen</a>: (addr <a href='../500fake-screen.mu.html#L16'>screen</a>), _item: (addr <a href='main.mu.html#L14'>item</a>), _users: (addr array <a href='main.mu.html#L7'>user</a>), show-cursor?: boolean, y: int, screen-height: int<span class="PreProc"> -&gt; </span>_/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span>
@@ -586,8 +586,8 @@ if ('onhashchange' in window) {
 <span id="L522" class="LineNr"> 522 </span>    x <span class="Special">&lt;-</span> add <span class="Constant">0x40</span>/channel-offset-x
 <span id="L523" class="LineNr"> 523 </span>    <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, x y
 <span id="L524" class="LineNr"> 524 </span>  <span class="Delimiter">}</span>
-<span id="L525" class="LineNr"> 525 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;#&quot;</span>, <span class="Constant">7</span>/grey <span class="Constant">0</span>/black
-<span id="L526" class="LineNr"> 526 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, channel-name, <span class="Constant">7</span>/grey <span class="Constant">0</span>/black
+<span id="L525" class="LineNr"> 525 </span>  <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;#&quot;</span>, <span class="Constant">7</span>/grey <span class="Constant">0</span>/black
+<span id="L526" class="LineNr"> 526 </span>  <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, channel-name, <span class="Constant">7</span>/grey <span class="Constant">0</span>/black
 <span id="L527" class="LineNr"> 527 </span>  <span class="muComment"># author name</span>
 <span id="L528" class="LineNr"> 528 </span>  <span class="Delimiter">{</span>
 <span id="L529" class="LineNr"> 529 </span>    <span class="PreProc">var</span> author-real-name-ah/eax: (addr handle array byte) <span class="Special">&lt;-</span> get author, real-name
@@ -595,7 +595,7 @@ if ('onhashchange' in window) {
 <span id="L531" class="LineNr"> 531 </span>    <span class="PreProc">var</span> x/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0x20</span>/main-panel-hor
 <span id="L532" class="LineNr"> 532 </span>    x <span class="Special">&lt;-</span> add <span class="Constant">0x10</span>/avatar-space-hor
 <span id="L533" class="LineNr"> 533 </span>    <a href='../500fake-screen.mu.html#L269'>set-cursor-position</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, x y
-<span id="L534" class="LineNr"> 534 </span>    <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, author-real-name, <span class="Constant">0xf</span>/white <span class="Constant">0</span>/black
+<span id="L534" class="LineNr"> 534 </span>    <a href='../501draw-text.mu.html#L332'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, author-real-name, <span class="Constant">0xf</span>/white <span class="Constant">0</span>/black
 <span id="L535" class="LineNr"> 535 </span>  <span class="Delimiter">}</span>
 <span id="L536" class="LineNr"> 536 </span>  increment y
 <span id="L537" class="LineNr"> 537 </span>  <span class="muComment"># text</span>
@@ -679,12 +679,12 @@ if ('onhashchange' in window) {
 <span id="L615" class="LineNr"> 615 </span>    <span class="Delimiter">}</span>
 <span id="L616" class="LineNr"> 616 </span>    compare c, <span class="Constant">0xffffffff</span>/end-of-file
 <span id="L617" class="LineNr"> 617 </span>    <span class="PreProc">break-if-=</span>
-<span id="L618" class="LineNr"> 618 </span>    $draw-json-stream-wrapping-right-then-down:render-grapheme: <span class="Delimiter">{</span>
+<span id="L618" class="LineNr"> 618 </span>    $draw-json-stream-wrapping-right-then-down:render-code-point-utf8: <span class="Delimiter">{</span>
 <span id="L619" class="LineNr"> 619 </span>      compare c, <span class="Constant">0x5c</span>/backslash
 <span id="L620" class="LineNr"> 620 </span>      <span class="Delimiter">{</span>
 <span id="L621" class="LineNr"> 621 </span>        <span class="PreProc">break-if-!=</span>
 <span id="L622" class="LineNr"> 622 </span>        xcurr, ycurr <span class="Special">&lt;-</span> <a href='environment.mu.html#L682'>render-json-escaped-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, stream, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
-<span id="L623" class="LineNr"> 623 </span>        <span class="PreProc">break</span> $draw-json-stream-wrapping-right-then-down:render-grapheme
+<span id="L623" class="LineNr"> 623 </span>        <span class="PreProc">break</span> $draw-json-stream-wrapping-right-then-down:render-code-point-utf8
 <span id="L624" class="LineNr"> 624 </span>      <span class="Delimiter">}</span>
 <span id="L625" class="LineNr"> 625 </span>      compare c, <span class="Constant">0xa</span>/newline
 <span id="L626" class="LineNr"> 626 </span>      <span class="Delimiter">{</span>
@@ -693,7 +693,7 @@ if ('onhashchange' in window) {
 <span id="L629" class="LineNr"> 629 </span>        <span class="PreProc">var</span> dummy/eax: int <span class="Special">&lt;-</span> <a href='../500fake-screen.mu.html#L94'>draw-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x20</span>/space, xcurr, ycurr, color, background-color
 <span id="L630" class="LineNr"> 630 </span>        xcurr <span class="Special">&lt;-</span> copy xmin
 <span id="L631" class="LineNr"> 631 </span>        ycurr <span class="Special">&lt;-</span> increment
-<span id="L632" class="LineNr"> 632 </span>        <span class="PreProc">break</span> $draw-json-stream-wrapping-right-then-down:render-grapheme
+<span id="L632" class="LineNr"> 632 </span>        <span class="PreProc">break</span> $draw-json-stream-wrapping-right-then-down:render-code-point-utf8
 <span id="L633" class="LineNr"> 633 </span>      <span class="Delimiter">}</span>
 <span id="L634" class="LineNr"> 634 </span>      <span class="PreProc">var</span> offset/eax: int <span class="Special">&lt;-</span> <a href='../500fake-screen.mu.html#L94'>draw-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, c, xcurr, ycurr, color, background-color
 <span id="L635" class="LineNr"> 635 </span>      <span class="muComment"># overlay a combining character if necessary</span>
@@ -703,8 +703,8 @@ if ('onhashchange' in window) {
 <span id="L639" class="LineNr"> 639 </span>        <span class="PreProc">break-if-!=</span>
 <span id="L640" class="LineNr"> 640 </span>        <span class="muComment"># read a character</span>
 <span id="L641" class="LineNr"> 641 </span>        <span class="muComment"># no combining character allowed here</span>
-<span id="L642" class="LineNr"> 642 </span>        <span class="PreProc">var</span> g/eax: grapheme <span class="Special">&lt;-</span> <a href='../403unicode.mu.html#L236'>read-grapheme</a> stream
-<span id="L643" class="LineNr"> 643 </span>        <span class="PreProc">var</span> c/eax: code-point <span class="Special">&lt;-</span> <a href='../403unicode.mu.html#L56'>to-code-point</a> g
+<span id="L642" class="LineNr"> 642 </span>        <span class="PreProc">var</span> g/eax: code-point-utf8 <span class="Special">&lt;-</span> <a href='../403unicode.mu.html#L229'>read-code-point-utf8</a> stream
+<span id="L643" class="LineNr"> 643 </span>        <span class="PreProc">var</span> c/eax: code-point <span class="Special">&lt;-</span> <a href='../403unicode.mu.html#L49'>to-code-point</a> g
 <span id="L644" class="LineNr"> 644 </span>        <span class="muComment"># if not a combining character, save for next iteration and loop</span>
 <span id="L645" class="LineNr"> 645 </span>        <span class="Delimiter">{</span>
 <span id="L646" class="LineNr"> 646 </span>          <span class="PreProc">var</span> <a href='../103glyph.subx.html#L157'>combining-code-point?</a>/eax: boolean <span class="Special">&lt;-</span> <a href='../103glyph.subx.html#L157'>combining-code-point?</a> c
@@ -736,8 +736,8 @@ if ('onhashchange' in window) {
 <span id="L672" class="LineNr"> 672 </span>
 <span id="L673" class="LineNr"> 673 </span><span class="muComment"># just return a different register</span>
 <span id="L674" class="LineNr"> 674 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L674'>read-json-code-point</a></span> stream: (addr stream byte)<span class="PreProc"> -&gt; </span>_/<span class="muRegEbx">ebx</span>: code-point <span class="Delimiter">{</span>
-<span id="L675" class="LineNr"> 675 </span>  <span class="PreProc">var</span> g/eax: grapheme <span class="Special">&lt;-</span> <a href='../403unicode.mu.html#L236'>read-grapheme</a> stream
-<span id="L676" class="LineNr"> 676 </span>  <span class="PreProc">var</span> result/eax: code-point <span class="Special">&lt;-</span> <a href='../403unicode.mu.html#L56'>to-code-point</a> g
+<span id="L675" class="LineNr"> 675 </span>  <span class="PreProc">var</span> g/eax: code-point-utf8 <span class="Special">&lt;-</span> <a href='../403unicode.mu.html#L229'>read-code-point-utf8</a> stream
+<span id="L676" class="LineNr"> 676 </span>  <span class="PreProc">var</span> result/eax: code-point <span class="Special">&lt;-</span> <a href='../403unicode.mu.html#L49'>to-code-point</a> g
 <span id="L677" class="LineNr"> 677 </span>  <span class="PreProc">return</span> result
 <span id="L678" class="LineNr"> 678 </span><span class="Delimiter">}</span>
 <span id="L679" class="LineNr"> 679 </span>
@@ -790,7 +790,7 @@ if ('onhashchange' in window) {
 <span id="L726" class="LineNr"> 726 </span>  <span class="Delimiter">}</span>
 <span id="L727" class="LineNr"> 727 </span>  <span class="muComment"># most characters escape to themselves</span>
 <span id="L728" class="LineNr"> 728 </span>  <span class="muComment"># combining characters not supported after backslash</span>
-<span id="L729" class="LineNr"> 729 </span>  x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, g, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L729" class="LineNr"> 729 </span>  x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, g, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L730" class="LineNr"> 730 </span>  <span class="PreProc">var</span> y/<span class="muRegEdx">edx</span>: int <span class="Special">&lt;-</span> copy y
 <span id="L731" class="LineNr"> 731 </span>  <span class="PreProc">return</span> x, y
 <span id="L732" class="LineNr"> 732 </span><span class="Delimiter">}</span>
@@ -819,7 +819,7 @@ if ('onhashchange' in window) {
 <span id="L755" class="LineNr"> 755 </span>    <span class="PreProc">break-if-=</span>
 <span id="L756" class="LineNr"> 756 </span>    <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L757" class="LineNr"> 757 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L758" class="LineNr"> 758 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x2d</span>/dash, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L758" class="LineNr"> 758 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x2d</span>/dash, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L759" class="LineNr"> 759 </span>    <span class="PreProc">return</span> x, y
 <span id="L760" class="LineNr"> 760 </span>  <span class="Delimiter">}</span>
 <span id="L761" class="LineNr"> 761 </span>  <span class="muComment"># \u2014 = -</span>
@@ -829,7 +829,7 @@ if ('onhashchange' in window) {
 <span id="L765" class="LineNr"> 765 </span>    <span class="PreProc">break-if-=</span>
 <span id="L766" class="LineNr"> 766 </span>    <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L767" class="LineNr"> 767 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L768" class="LineNr"> 768 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x2d</span>/dash, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L768" class="LineNr"> 768 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x2d</span>/dash, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L769" class="LineNr"> 769 </span>    <span class="PreProc">return</span> x, y
 <span id="L770" class="LineNr"> 770 </span>  <span class="Delimiter">}</span>
 <span id="L771" class="LineNr"> 771 </span>  <span class="muComment"># \u2018 = '</span>
@@ -839,7 +839,7 @@ if ('onhashchange' in window) {
 <span id="L775" class="LineNr"> 775 </span>    <span class="PreProc">break-if-=</span>
 <span id="L776" class="LineNr"> 776 </span>    <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L777" class="LineNr"> 777 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L778" class="LineNr"> 778 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x27</span>/quote, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L778" class="LineNr"> 778 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x27</span>/quote, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L779" class="LineNr"> 779 </span>    <span class="PreProc">return</span> x, y
 <span id="L780" class="LineNr"> 780 </span>  <span class="Delimiter">}</span>
 <span id="L781" class="LineNr"> 781 </span>  <span class="muComment"># \u2019 = '</span>
@@ -849,7 +849,7 @@ if ('onhashchange' in window) {
 <span id="L785" class="LineNr"> 785 </span>    <span class="PreProc">break-if-=</span>
 <span id="L786" class="LineNr"> 786 </span>    <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L787" class="LineNr"> 787 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L788" class="LineNr"> 788 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x27</span>/quote, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L788" class="LineNr"> 788 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x27</span>/quote, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L789" class="LineNr"> 789 </span>    <span class="PreProc">return</span> x, y
 <span id="L790" class="LineNr"> 790 </span>  <span class="Delimiter">}</span>
 <span id="L791" class="LineNr"> 791 </span>  <span class="muComment"># \u201c = &quot;</span>
@@ -859,7 +859,7 @@ if ('onhashchange' in window) {
 <span id="L795" class="LineNr"> 795 </span>    <span class="PreProc">break-if-=</span>
 <span id="L796" class="LineNr"> 796 </span>    <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L797" class="LineNr"> 797 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L798" class="LineNr"> 798 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x22</span>/dquote, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L798" class="LineNr"> 798 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x22</span>/dquote, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L799" class="LineNr"> 799 </span>    <span class="PreProc">return</span> x, y
 <span id="L800" class="LineNr"> 800 </span>  <span class="Delimiter">}</span>
 <span id="L801" class="LineNr"> 801 </span>  <span class="muComment"># \u201d = &quot;</span>
@@ -869,7 +869,7 @@ if ('onhashchange' in window) {
 <span id="L805" class="LineNr"> 805 </span>    <span class="PreProc">break-if-=</span>
 <span id="L806" class="LineNr"> 806 </span>    <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L807" class="LineNr"> 807 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L808" class="LineNr"> 808 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x22</span>/dquote, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L808" class="LineNr"> 808 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x22</span>/dquote, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L809" class="LineNr"> 809 </span>    <span class="PreProc">return</span> x, y
 <span id="L810" class="LineNr"> 810 </span>  <span class="Delimiter">}</span>
 <span id="L811" class="LineNr"> 811 </span>  <span class="muComment"># \u2022 = *</span>
@@ -879,7 +879,7 @@ if ('onhashchange' in window) {
 <span id="L815" class="LineNr"> 815 </span>    <span class="PreProc">break-if-=</span>
 <span id="L816" class="LineNr"> 816 </span>    <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L817" class="LineNr"> 817 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L818" class="LineNr"> 818 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x2a</span>/asterisk, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L818" class="LineNr"> 818 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">0x2a</span>/asterisk, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L819" class="LineNr"> 819 </span>    <span class="PreProc">return</span> x, y
 <span id="L820" class="LineNr"> 820 </span>  <span class="Delimiter">}</span>
 <span id="L821" class="LineNr"> 821 </span>  <span class="muComment"># \u2026 = ...</span>
@@ -889,14 +889,14 @@ if ('onhashchange' in window) {
 <span id="L825" class="LineNr"> 825 </span>    <span class="PreProc">break-if-=</span>
 <span id="L826" class="LineNr"> 826 </span>    <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L827" class="LineNr"> 827 </span>    <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L828" class="LineNr"> 828 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L188'>draw-text-wrapping-right-then-down</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;...&quot;</span>, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L828" class="LineNr"> 828 </span>    x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L181'>draw-text-wrapping-right-then-down</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, <span class="Constant">&quot;...&quot;</span>, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L829" class="LineNr"> 829 </span>    <span class="PreProc">return</span> x, y
 <span id="L830" class="LineNr"> 830 </span>  <span class="Delimiter">}</span>
 <span id="L831" class="LineNr"> 831 </span>  <span class="PreProc">var</span> n/eax: int <span class="Special">&lt;-</span> <a href='../118parse-hex-int.subx.html#L354'>parse-hex-int</a> hex-digits
 <span id="L832" class="LineNr"> 832 </span>  <span class="PreProc">var</span> c/<span class="muRegEdx">edx</span>: code-point <span class="Special">&lt;-</span> copy n
 <span id="L833" class="LineNr"> 833 </span>  <span class="PreProc">var</span> x/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L834" class="LineNr"> 834 </span>  <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L835" class="LineNr"> 835 </span>  x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L162'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, c, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
+<span id="L835" class="LineNr"> 835 </span>  x, y <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L155'>render-code-point</a> <a href='../500fake-screen.mu.html#L16'>screen</a>, c, xmin, ymin, xmax, ymax, xcurr, ycurr, color, background-color
 <span id="L836" class="LineNr"> 836 </span>  <span class="PreProc">return</span> x, y
 <span id="L837" class="LineNr"> 837 </span><span class="Delimiter">}</span>
 <span id="L838" class="LineNr"> 838 </span>
@@ -1076,7 +1076,7 @@ if ('onhashchange' in window) {
 <span id="L1012" class="LineNr">1012 </span>  <span class="muComment"># otherwise delegate</span>
 <span id="L1013" class="LineNr">1013 </span>  <span class="PreProc">var</span> search-terms-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get env, search-terms
 <span id="L1014" class="LineNr">1014 </span>  <span class="PreProc">var</span> search-terms/eax: (addr <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L235'>lookup</a> *search-terms-ah
-<span id="L1015" class="LineNr">1015 </span>  <span class="PreProc">var</span> g/<span class="muRegEcx">ecx</span>: grapheme <span class="Special">&lt;-</span> copy key
+<span id="L1015" class="LineNr">1015 </span>  <span class="PreProc">var</span> g/<span class="muRegEcx">ecx</span>: code-point-utf8 <span class="Special">&lt;-</span> copy key
 <span id="L1016" class="LineNr">1016 </span>  <a href='../514gap-buffer.mu.html#L1203'>edit-gap-buffer</a> search-terms, g
 <span id="L1017" class="LineNr">1017 </span><span class="Delimiter">}</span>
 <span id="L1018" class="LineNr">1018 </span>