about summary refs log tree commit diff stats
path: root/html/shell/environment.mu.html
diff options
context:
space:
mode:
Diffstat (limited to 'html/shell/environment.mu.html')
-rw-r--r--html/shell/environment.mu.html90
1 files changed, 45 insertions, 45 deletions
diff --git a/html/shell/environment.mu.html b/html/shell/environment.mu.html
index 64fd8d17..4d3742cc 100644
--- a/html/shell/environment.mu.html
+++ b/html/shell/environment.mu.html
@@ -1,14 +1,14 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!DOCTYPE html>
 <html>
 <head>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<meta charset="UTF-8">
 <title>Mu - shell/environment.mu</title>
-<meta name="Generator" content="Vim/8.1">
-<meta name="plugin-version" content="vim8.1_v1">
+<meta name="Generator" content="Vim/8.2">
+<meta name="plugin-version" content="vim8.1_v2">
 <meta name="syntax" content="none">
-<meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
+<meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy=,use_input_for_pc=fallback">
 <meta name="colorscheme" content="minimal-light">
-<style type="text/css">
+<style>
 <!--
 pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #ffffd7; }
 body { font-size:12pt; font-family: monospace; color: #000000; background-color: #ffffd7; }
@@ -31,7 +31,7 @@ a { color:inherit; }
 -->
 </style>
 
-<script type='text/javascript'>
+<script>
 <!--
 
 /* function to open any folds containing a jumped-to line before jumping to it */
@@ -246,8 +246,8 @@ if ('onhashchange' in window) {
 <span id="L181" class="LineNr"> 181 </span>    tmp <span class="Special">&lt;-</span> address args
 <span id="L182" class="LineNr"> 182 </span>    <a href='cell.mu.html#L142'>new-pair</a> tmp, <a href='main.mu.html#L4'>main</a>, *tmp
 <span id="L183" class="LineNr"> 183 </span>    <span class="muComment"># clear real screen</span>
-<span id="L184" class="LineNr"> 184 </span>    <a href='../500fake-screen.mu.html#L307'>clear-screen</a> <span class="Constant">0</span>/screen
-<span id="L185" class="LineNr"> 185 </span>    <a href='../500fake-screen.mu.html#L246'>set-cursor-position</a> <span class="Constant">0</span>/screen, <span class="Constant">0</span>, <span class="Constant">0</span>
+<span id="L184" class="LineNr"> 184 </span>    <a href='../500fake-screen.mu.html#L328'>clear-screen</a> <span class="Constant">0</span>/screen
+<span id="L185" class="LineNr"> 185 </span>    <a href='../500fake-screen.mu.html#L267'>set-cursor-position</a> <span class="Constant">0</span>/screen, <span class="Constant">0</span>, <span class="Constant">0</span>
 <span id="L186" class="LineNr"> 186 </span>    <span class="muComment"># run</span>
 <span id="L187" class="LineNr"> 187 </span>    <span class="PreProc">var</span> out: (handle <a href='cell.mu.html#L1'>cell</a>)
 <span id="L188" class="LineNr"> 188 </span>    <span class="PreProc">var</span> out-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> address out
@@ -331,7 +331,7 @@ if ('onhashchange' in window) {
 <span id="L266" class="LineNr"> 266 </span>      <span class="muComment"># turn global name into a stream</span>
 <span id="L267" class="LineNr"> 267 </span>      <span class="PreProc">var</span> name-storage: (stream byte <span class="Constant">0x40</span>)
 <span id="L268" class="LineNr"> 268 </span>      <span class="PreProc">var</span> name/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special">&lt;-</span> address name-storage
-<span id="L269" class="LineNr"> 269 </span>      <a href='../514gap-buffer.mu.html#L83'>emit-gap-buffer</a> partial-global-name, name
+<span id="L269" class="LineNr"> 269 </span>      <a href='../514gap-buffer.mu.html#L82'>emit-gap-buffer</a> partial-global-name, name
 <span id="L270" class="LineNr"> 270 </span>      <span class="muComment"># compute global index</span>
 <span id="L271" class="LineNr"> 271 </span>      <span class="PreProc">var</span> curr-index/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> <a href='global.mu.html#L442'>find-symbol-in-globals</a> globals, name
 <span id="L272" class="LineNr"> 272 </span>      <span class="muComment"># if global not found, set error and return</span>
@@ -390,7 +390,7 @@ if ('onhashchange' in window) {
 <span id="L325" class="LineNr"> 325 </span>      <span class="muComment"># turn global name into a stream</span>
 <span id="L326" class="LineNr"> 326 </span>      <span class="PreProc">var</span> name-storage: (stream byte <span class="Constant">0x40</span>)
 <span id="L327" class="LineNr"> 327 </span>      <span class="PreProc">var</span> name/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special">&lt;-</span> address name-storage
-<span id="L328" class="LineNr"> 328 </span>      <a href='../514gap-buffer.mu.html#L83'>emit-gap-buffer</a> partial-global-name, name
+<span id="L328" class="LineNr"> 328 </span>      <a href='../514gap-buffer.mu.html#L82'>emit-gap-buffer</a> partial-global-name, name
 <span id="L329" class="LineNr"> 329 </span>      <span class="muComment"># compute global curr-index</span>
 <span id="L330" class="LineNr"> 330 </span>      <span class="PreProc">var</span> curr-index/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> <a href='global.mu.html#L442'>find-symbol-in-globals</a> globals, name
 <span id="L331" class="LineNr"> 331 </span>      <span class="muComment"># if global found, set error and return</span>
@@ -419,7 +419,7 @@ if ('onhashchange' in window) {
 <span id="L354" class="LineNr"> 354 </span>    <span class="muComment"># otherwise process like a regular gap-buffer</span>
 <span id="L355" class="LineNr"> 355 </span>    <span class="PreProc">var</span> partial-global-name-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get self, partial-global-name
 <span id="L356" class="LineNr"> 356 </span>    <span class="PreProc">var</span> partial-global-name/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> *partial-global-name-ah
-<span id="L357" class="LineNr"> 357 </span>    <a href='../514gap-buffer.mu.html#L1204'>edit-gap-buffer</a> partial-global-name, key
+<span id="L357" class="LineNr"> 357 </span>    <a href='../514gap-buffer.mu.html#L1203'>edit-gap-buffer</a> partial-global-name, key
 <span id="L358" class="LineNr"> 358 </span>    <span class="PreProc">return</span>
 <span id="L359" class="LineNr"> 359 </span>  <span class="Delimiter">}</span>
 <span id="L360" class="LineNr"> 360 </span>  <span class="muComment"># ctrl-g: go to a global (or the repl)</span>
@@ -433,7 +433,7 @@ if ('onhashchange' in window) {
 <span id="L368" class="LineNr"> 368 </span>    <span class="PreProc">var</span> partial-global-name-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get self, partial-global-name
 <span id="L369" class="LineNr"> 369 </span>    <span class="PreProc">var</span> partial-global-name/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> *partial-global-name-ah
 <span id="L370" class="LineNr"> 370 </span>    <a href='../514gap-buffer.mu.html#L19'>clear-gap-buffer</a> partial-global-name
-<span id="L371" class="LineNr"> 371 </span>    <a href='../514gap-buffer.mu.html#L68'>load-gap-buffer-from-stream</a> partial-global-name, current-word
+<span id="L371" class="LineNr"> 371 </span>    <a href='../514gap-buffer.mu.html#L67'>load-gap-buffer-from-stream</a> partial-global-name, current-word
 <span id="L372" class="LineNr"> 372 </span>    <span class="muComment"># enable the modal</span>
 <span id="L373" class="LineNr"> 373 </span>    <span class="PreProc">var</span> cursor-in-go-modal-a/eax: (addr boolean) <span class="Special">&lt;-</span> get self, cursor-in-go-modal?
 <span id="L374" class="LineNr"> 374 </span>    copy-to *cursor-in-go-modal-a, <span class="Constant">1</span>/true
@@ -927,10 +927,10 @@ if ('onhashchange' in window) {
 <span id="L862" class="LineNr"> 862 </span>  tmp <span class="Special">&lt;-</span> add <span class="Constant">3</span>
 <span id="L863" class="LineNr"> 863 </span>  copy-to ymax, tmp
 <span id="L864" class="LineNr"> 864 </span>  <span class="muComment">#</span>
-<span id="L865" class="LineNr"> 865 </span>  <a href='../500fake-screen.mu.html#L409'>clear-rect</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, xmin, ymin, xmax, ymax, <span class="Constant">0xf</span>/bg=modal
+<span id="L865" class="LineNr"> 865 </span>  <a href='../500fake-screen.mu.html#L430'>clear-rect</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, xmin, ymin, xmax, ymax, <span class="Constant">0xf</span>/bg=modal
 <span id="L866" class="LineNr"> 866 </span>  add-to xmin, <span class="Constant">4</span>
-<span id="L867" class="LineNr"> 867 </span>  <a href='../500fake-screen.mu.html#L246'>set-cursor-position</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, xmin, ymin
-<span id="L868" class="LineNr"> 868 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot;go to <a href='global.mu.html#L8'>global</a> (or leave blank to go to REPL)&quot;</span>, xmax, <span class="Constant">8</span>/fg=dark-grey, <span class="Constant">0xf</span>/bg=modal
+<span id="L867" class="LineNr"> 867 </span>  <a href='../500fake-screen.mu.html#L267'>set-cursor-position</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, xmin, ymin
+<span id="L868" class="LineNr"> 868 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot;go to <a href='global.mu.html#L8'>global</a> (or leave blank to go to REPL)&quot;</span>, xmax, <span class="Constant">8</span>/fg=dark-grey, <span class="Constant">0xf</span>/bg=modal
 <span id="L869" class="LineNr"> 869 </span>  <span class="PreProc">var</span> partial-global-name-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get self, partial-global-name
 <span id="L870" class="LineNr"> 870 </span>  <span class="PreProc">var</span> _partial-global-name/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> *partial-global-name-ah
 <span id="L871" class="LineNr"> 871 </span>  <span class="PreProc">var</span> partial-global-name/<span class="muRegEdx">edx</span>: (addr <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> copy _partial-global-name
@@ -941,12 +941,12 @@ if ('onhashchange' in window) {
 <span id="L876" class="LineNr"> 876 </span>    <span class="PreProc">var</span> go-modal-error/eax: (addr array byte) <span class="Special">&lt;-</span> <a href='../120allocate.subx.html#L235'>lookup</a> *go-modal-error-ah
 <span id="L877" class="LineNr"> 877 </span>    compare go-modal-error, <span class="Constant">0</span>
 <span id="L878" class="LineNr"> 878 </span>    <span class="PreProc">break-if-=</span>
-<span id="L879" class="LineNr"> 879 </span>    <span class="PreProc">var</span> dummy/eax: int <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L106'>draw-text-rightward</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, go-modal-error, xmin, xmax, ymin, <span class="Constant">4</span>/fg=<span class="Special"><a href='trace.mu.html#L197'>error</a></span>, <span class="Constant">0xf</span>/bg=modal
+<span id="L879" class="LineNr"> 879 </span>    <span class="PreProc">var</span> dummy/eax: int <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L113'>draw-text-rightward</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, go-modal-error, xmin, xmax, ymin, <span class="Constant">4</span>/fg=<span class="Special"><a href='trace.mu.html#L197'>error</a></span>, <span class="Constant">0xf</span>/bg=modal
 <span id="L880" class="LineNr"> 880 </span>  <span class="Delimiter">}</span>
 <span id="L881" class="LineNr"> 881 </span>  increment ymin
 <span id="L882" class="LineNr"> 882 </span>  <span class="PreProc">var</span> dummy/eax: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
 <span id="L883" class="LineNr"> 883 </span>  <span class="PreProc">var</span> dummy2/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
-<span id="L884" class="LineNr"> 884 </span>  dummy, dummy2 <span class="Special">&lt;-</span> <a href='../514gap-buffer.mu.html#L386'>render-gap-buffer-wrapping-right-then-down</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, partial-global-name, xmin, ymin, xmax, ymax, <span class="Constant">1</span>/always-render-cursor, <span class="Constant">0</span>/fg=black, <span class="Constant">0xf</span>/bg=modal
+<span id="L884" class="LineNr"> 884 </span>  dummy, dummy2 <span class="Special">&lt;-</span> <a href='../514gap-buffer.mu.html#L385'>render-gap-buffer-wrapping-right-then-down</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, partial-global-name, xmin, ymin, xmax, ymax, <span class="Constant">1</span>/always-render-cursor, <span class="Constant">0</span>/fg=black, <span class="Constant">0xf</span>/bg=modal
 <span id="L885" class="LineNr"> 885 </span><span class="Delimiter">}</span>
 <span id="L886" class="LineNr"> 886 </span>
 <span id="L887" class="LineNr"> 887 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L887'>render-go-modal-menu</a></span> <a href='../500fake-screen.mu.html#L14'>screen</a>: (addr <a href='../500fake-screen.mu.html#L14'>screen</a>), _self: (addr <a href='environment.mu.html#L8'>environment</a>) <span class="Delimiter">{</span>
@@ -959,24 +959,24 @@ if ('onhashchange' in window) {
 <span id="L894" class="LineNr"> 894 </span>  y <span class="Special">&lt;-</span> decrement
 <span id="L895" class="LineNr"> 895 </span>  <span class="PreProc">var</span> height/<span class="muRegEbx">ebx</span>: int <span class="Special">&lt;-</span> copy y
 <span id="L896" class="LineNr"> 896 </span>  height <span class="Special">&lt;-</span> increment
-<span id="L897" class="LineNr"> 897 </span>  <a href='../500fake-screen.mu.html#L409'>clear-rect</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">0</span>/x, y, width, height, <span class="Constant">0xc5</span>/bg=blue-bg
-<span id="L898" class="LineNr"> 898 </span>  <a href='../500fake-screen.mu.html#L246'>set-cursor-position</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">0</span>/x, y
-<span id="L899" class="LineNr"> 899 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^r &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
-<span id="L900" class="LineNr"> 900 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; run <a href='main.mu.html#L4'>main</a>  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
-<span id="L901" class="LineNr"> 901 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; enter &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xc</span>/bg=menu-really-highlight
-<span id="L902" class="LineNr"> 902 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; go  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
-<span id="L903" class="LineNr"> 903 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^m &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xc</span>/bg=menu-really-highlight
-<span id="L904" class="LineNr"> 904 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; create  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
-<span id="L905" class="LineNr"> 905 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; esc &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
-<span id="L906" class="LineNr"> 906 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; cancel  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
-<span id="L907" class="LineNr"> 907 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^a &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
-<span id="L908" class="LineNr"> 908 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; &lt;&lt;  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
-<span id="L909" class="LineNr"> 909 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^b &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
-<span id="L910" class="LineNr"> 910 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; &lt;word  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
-<span id="L911" class="LineNr"> 911 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^f &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
-<span id="L912" class="LineNr"> 912 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; word&gt;  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
-<span id="L913" class="LineNr"> 913 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^e &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
-<span id="L914" class="LineNr"> 914 </span>  <a href='../501draw-text.mu.html#L140'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; &gt;&gt;  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L897" class="LineNr"> 897 </span>  <a href='../500fake-screen.mu.html#L430'>clear-rect</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">0</span>/x, y, width, height, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L898" class="LineNr"> 898 </span>  <a href='../500fake-screen.mu.html#L267'>set-cursor-position</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">0</span>/x, y
+<span id="L899" class="LineNr"> 899 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^r &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
+<span id="L900" class="LineNr"> 900 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; run <a href='main.mu.html#L4'>main</a>  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L901" class="LineNr"> 901 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; enter &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xc</span>/bg=menu-really-highlight
+<span id="L902" class="LineNr"> 902 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; go  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L903" class="LineNr"> 903 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^m &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0xc</span>/bg=menu-really-highlight
+<span id="L904" class="LineNr"> 904 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; create  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L905" class="LineNr"> 905 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; esc &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
+<span id="L906" class="LineNr"> 906 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; cancel  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L907" class="LineNr"> 907 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^a &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
+<span id="L908" class="LineNr"> 908 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; &lt;&lt;  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L909" class="LineNr"> 909 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^b &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
+<span id="L910" class="LineNr"> 910 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; &lt;word  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L911" class="LineNr"> 911 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^f &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
+<span id="L912" class="LineNr"> 912 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; word&gt;  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
+<span id="L913" class="LineNr"> 913 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; ^e &quot;</span>, width, <span class="Constant">0</span>/fg, <span class="Constant">0x5c</span>/bg=menu-highlight
+<span id="L914" class="LineNr"> 914 </span>  <a href='../501draw-text.mu.html#L147'>draw-text-rightward-from-cursor</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot; &gt;&gt;  &quot;</span>, width, <span class="Constant">7</span>/fg, <span class="Constant">0xc5</span>/bg=blue-bg
 <span id="L915" class="LineNr"> 915 </span><span class="Delimiter">}</span>
 <span id="L916" class="LineNr"> 916 </span>
 <span id="L917" class="LineNr"> 917 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L917'>word-at-cursor</a></span> _self: (addr <a href='environment.mu.html#L8'>environment</a>), out: (addr stream byte) <span class="Delimiter">{</span>
@@ -1001,14 +1001,14 @@ if ('onhashchange' in window) {
 <span id="L936" class="LineNr"> 936 </span>    <span class="PreProc">var</span> curr-global/eax: (addr <a href='global.mu.html#L8'>global</a>) <span class="Special">&lt;-</span> index globals-data, cursor-offset
 <span id="L937" class="LineNr"> 937 </span>    <span class="PreProc">var</span> curr-global-data-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get curr-global, input
 <span id="L938" class="LineNr"> 938 </span>    <span class="PreProc">var</span> curr-global-data/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> *curr-global-data-ah
-<span id="L939" class="LineNr"> 939 </span>    <a href='../514gap-buffer.mu.html#L133'>word-at-gap</a> curr-global-data, out
+<span id="L939" class="LineNr"> 939 </span>    <a href='../514gap-buffer.mu.html#L132'>word-at-gap</a> curr-global-data, out
 <span id="L940" class="LineNr"> 940 </span>    <span class="PreProc">return</span>
 <span id="L941" class="LineNr"> 941 </span>  <span class="Delimiter">}</span>
 <span id="L942" class="LineNr"> 942 </span>  <span class="muComment"># cursor in sandbox</span>
 <span id="L943" class="LineNr"> 943 </span>  <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/<span class="muRegEcx">ecx</span>: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> get self, <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L944" class="LineNr"> 944 </span>  <span class="PreProc">var</span> sandbox-data-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get <a href='sandbox.mu.html#L1'>sandbox</a>, data
 <span id="L945" class="LineNr"> 945 </span>  <span class="PreProc">var</span> sandbox-data/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> *sandbox-data-ah
-<span id="L946" class="LineNr"> 946 </span>  <a href='../514gap-buffer.mu.html#L133'>word-at-gap</a> sandbox-data, out
+<span id="L946" class="LineNr"> 946 </span>  <a href='../514gap-buffer.mu.html#L132'>word-at-gap</a> sandbox-data, out
 <span id="L947" class="LineNr"> 947 </span><span class="Delimiter">}</span>
 <span id="L948" class="LineNr"> 948 </span>
 <span id="L949" class="LineNr"> 949 </span><span class="muComment"># Gotcha: some saved state may not load.</span>
@@ -1017,18 +1017,18 @@ if ('onhashchange' in window) {
 <span id="L952" class="LineNr"> 952 </span>  <span class="muComment"># data-disk -&gt; stream</span>
 <span id="L953" class="LineNr"> 953 </span>  <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x40000</span>)  <span class="muComment"># space for 0x200/sectors</span>
 <span id="L954" class="LineNr"> 954 </span>  <span class="PreProc">var</span> s/<span class="muRegEbx">ebx</span>: (addr stream byte) <span class="Special">&lt;-</span> address s-storage
-<span id="L955" class="LineNr"> 955 </span>  <a href='../501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;loading sectors from data disk&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
+<span id="L955" class="LineNr"> 955 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;loading sectors from data disk&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
 <span id="L956" class="LineNr"> 956 </span>  <a href='../501draw-text.mu.html#L65'>move-cursor-to-left-margin-of-next-line</a> <span class="Constant">0</span>/screen
 <span id="L957" class="LineNr"> 957 </span>  <a href='../510disk.mu.html#L1'>load-sectors</a> data-disk, <span class="Constant">0</span>/lba, <span class="Constant">0x200</span>/sectors, s
 <span id="L958" class="LineNr"> 958 </span><span class="CommentedCode">#?   draw-stream-wrapping-right-then-down-from-cursor-over-full-screen 0/screen, s, 7/fg, 0xc5/bg=blue-bg</span>
 <span id="L959" class="LineNr"> 959 </span>  <span class="muComment"># stream -&gt; gap-buffer (HACK: we temporarily cannibalize the sandbox's gap-buffer)</span>
-<span id="L960" class="LineNr"> 960 </span>  <a href='../501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;parsing&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
+<span id="L960" class="LineNr"> 960 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;parsing&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
 <span id="L961" class="LineNr"> 961 </span>  <a href='../501draw-text.mu.html#L65'>move-cursor-to-left-margin-of-next-line</a> <span class="Constant">0</span>/screen
 <span id="L962" class="LineNr"> 962 </span>  <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/eax: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> get self, <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L963" class="LineNr"> 963 </span>  <span class="PreProc">var</span> data-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get <a href='sandbox.mu.html#L1'>sandbox</a>, data
 <span id="L964" class="LineNr"> 964 </span>  <span class="PreProc">var</span> data/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> *data-ah
-<span id="L965" class="LineNr"> 965 </span>  <a href='../514gap-buffer.mu.html#L68'>load-gap-buffer-from-stream</a> data, s
-<span id="L966" class="LineNr"> 966 </span>  <a href='../501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;  into gap buffer&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
+<span id="L965" class="LineNr"> 965 </span>  <a href='../514gap-buffer.mu.html#L67'>load-gap-buffer-from-stream</a> data, s
+<span id="L966" class="LineNr"> 966 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;  into gap buffer&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
 <span id="L967" class="LineNr"> 967 </span>  <a href='../501draw-text.mu.html#L65'>move-cursor-to-left-margin-of-next-line</a> <span class="Constant">0</span>/screen
 <span id="L968" class="LineNr"> 968 </span>  <a href='../106stream.subx.html#L20'>clear-stream</a> s
 <span id="L969" class="LineNr"> 969 </span>  <span class="muComment"># read: gap-buffer -&gt; cell</span>
@@ -1038,7 +1038,7 @@ if ('onhashchange' in window) {
 <span id="L973" class="LineNr"> 973 </span>  <span class="PreProc">var</span> trace/<span class="muRegEdi">edi</span>: (addr trace) <span class="Special">&lt;-</span> address trace-storage
 <span id="L974" class="LineNr"> 974 </span>  <a href='trace.mu.html#L61'>initialize-trace</a> trace, <span class="Constant">1</span>/only-errors, <span class="Constant">0x10</span>/capacity, <span class="Constant">0</span>/visible
 <span id="L975" class="LineNr"> 975 </span>  <a href='read.mu.html#L1'>read-cell</a> data, initial-root, trace
-<span id="L976" class="LineNr"> 976 </span>  <a href='../501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;  into s-expressions&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
+<span id="L976" class="LineNr"> 976 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;  into s-expressions&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
 <span id="L977" class="LineNr"> 977 </span>  <a href='../501draw-text.mu.html#L65'>move-cursor-to-left-margin-of-next-line</a> <span class="Constant">0</span>/screen
 <span id="L978" class="LineNr"> 978 </span>  <a href='../514gap-buffer.mu.html#L19'>clear-gap-buffer</a> data
 <span id="L979" class="LineNr"> 979 </span>  <span class="muComment">#</span>
@@ -1065,7 +1065,7 @@ if ('onhashchange' in window) {
 <span id="L1000" class="LineNr">1000 </span>    <a href='global.mu.html#L30'>load-globals</a> globals-cell-ah, globals
 <span id="L1001" class="LineNr">1001 </span>  <span class="Delimiter">}</span>
 <span id="L1002" class="LineNr">1002 </span>  <span class="muComment"># sandbox = assoc(initial-root, 'sandbox)</span>
-<span id="L1003" class="LineNr">1003 </span>  <a href='../501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;loading sandbox&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
+<span id="L1003" class="LineNr">1003 </span>  <a href='../501draw-text.mu.html#L339'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> <span class="Constant">0</span>/screen, <span class="Constant">&quot;loading sandbox&quot;</span>, <span class="Constant">3</span>/fg, <span class="Constant">0</span>/bg
 <span id="L1004" class="LineNr">1004 </span>  <span class="PreProc">var</span> sandbox-literal-storage: (handle <a href='cell.mu.html#L1'>cell</a>)
 <span id="L1005" class="LineNr">1005 </span>  <span class="PreProc">var</span> sandbox-literal-ah/eax: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special">&lt;-</span> address sandbox-literal-storage
 <span id="L1006" class="LineNr">1006 </span>  <a href='cell.mu.html#L43'>new-symbol</a> sandbox-literal-ah, <span class="Constant">&quot;sandbox&quot;</span>
@@ -1085,7 +1085,7 @@ if ('onhashchange' in window) {
 <span id="L1020" class="LineNr">1020 </span>    <span class="PreProc">var</span> <a href='sandbox.mu.html#L1'>sandbox</a>/eax: (addr <a href='sandbox.mu.html#L1'>sandbox</a>) <span class="Special">&lt;-</span> get self, <a href='sandbox.mu.html#L1'>sandbox</a>
 <span id="L1021" class="LineNr">1021 </span>    <span class="PreProc">var</span> data-ah/eax: (addr handle <a href='../514gap-buffer.mu.html#L3'>gap-buffer</a>) <span class="Special">&lt;-</span> get <a href='sandbox.mu.html#L1'>sandbox</a>, data
 <span id="L1022" class="LineNr">1022 </span>    <span class="PreProc">var</span> data/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> *data-ah
-<span id="L1023" class="LineNr">1023 </span>    <a href='../514gap-buffer.mu.html#L68'>load-gap-buffer-from-stream</a> data, sandbox-data
+<span id="L1023" class="LineNr">1023 </span>    <a href='../514gap-buffer.mu.html#L67'>load-gap-buffer-from-stream</a> data, sandbox-data
 <span id="L1024" class="LineNr">1024 </span>  <span class="Delimiter">}</span>
 <span id="L1025" class="LineNr">1025 </span><span class="Delimiter">}</span>
 <span id="L1026" class="LineNr">1026 </span>