about summary refs log tree commit diff stats
path: root/html/edit/002-typing.mu.html
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2017-04-16 15:16:22 -0700
committerKartik K. Agaram <vc@akkartik.com>2017-04-16 15:16:22 -0700
commitb2a2dc9593bd8a06977830f228ee86bb80c6a36e (patch)
tree1c4a8f52d10b05a8988b1e9d6ed35b6738ff239c /html/edit/002-typing.mu.html
parentace7ffb714ce5314c665f28945ee0f3f1664f9ca (diff)
downloadmu-b2a2dc9593bd8a06977830f228ee86bb80c6a36e.tar.gz
3825
Diffstat (limited to 'html/edit/002-typing.mu.html')
-rw-r--r--html/edit/002-typing.mu.html90
1 files changed, 45 insertions, 45 deletions
diff --git a/html/edit/002-typing.mu.html b/html/edit/002-typing.mu.html
index 72434b5d..3b48c3cc 100644
--- a/html/edit/002-typing.mu.html
+++ b/html/edit/002-typing.mu.html
@@ -69,7 +69,7 @@ if ('onhashchange' in window) {
 <span id="L6" class="LineNr">   6 </span>  <span class="Constant">local-scope</span>
 <span id="L7" class="LineNr">   7 </span>  <span class="Constant">load-ingredients</span>
 <span id="L8" class="LineNr">   8 </span>  open-console
-<span id="L9" class="LineNr">   9 </span>  editor:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> text, <span class="Constant">5/left</span>, <span class="Constant">45/right</span>
+<span id="L9" class="LineNr">   9 </span>  editor:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> text, <span class="Constant">5/left</span>, <span class="Constant">45/right</span>
 <span id="L10" class="LineNr">  10 </span>  <a href='002-typing.mu.html#L14'>editor-event-loop</a> <span class="Constant">0/screen</span>, <span class="Constant">0/console</span>, editor
 <span id="L11" class="LineNr">  11 </span>  close-console
 <span id="L12" class="LineNr">  12 </span>]
@@ -82,7 +82,7 @@ if ('onhashchange' in window) {
 <span id="L19" class="LineNr">  19 </span><span class="Constant">  </span><span class="Conceal">¦</span><span class="Constant"> +next-event</span>
 <span id="L20" class="LineNr">  20 </span>  <span class="Conceal">¦</span> cursor-row:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">cursor-row:offset</span>
 <span id="L21" class="LineNr">  21 </span>  <span class="Conceal">¦</span> cursor-column:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">cursor-column:offset</span>
-<span id="L22" class="LineNr">  22 </span>  <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special">&lt;-</span> <a href='../081print.mu.html#L442'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column
+<span id="L22" class="LineNr">  22 </span>  <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special">&lt;-</span> <a href='../081print.mu.html#L435'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column
 <span id="L23" class="LineNr">  23 </span>  <span class="Conceal">¦</span> e:<a href='../084console.mu.html#L4'>event</a>, found?:bool, quit?:bool, <a href='../084console.mu.html#L23'>console</a> <span class="Special">&lt;-</span> <a href='../084console.mu.html#L35'>read-event</a> <a href='../084console.mu.html#L23'>console</a>
 <span id="L24" class="LineNr">  24 </span>  <span class="Conceal">¦</span> <span class="muControl">loop-unless</span> found?
 <span id="L25" class="LineNr">  25 </span>  <span class="Conceal">¦</span> <span class="muControl">break-if</span> quit?  <span class="Comment"># only in tests</span>
@@ -139,7 +139,7 @@ if ('onhashchange' in window) {
 <span id="L76" class="LineNr">  76 </span>  <span class="muControl">return-unless</span> editor
 <span id="L77" class="LineNr">  77 </span>  left:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">left:offset</span>
 <span id="L78" class="LineNr">  78 </span>  right:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">right:offset</span>
-<span id="L79" class="LineNr">  79 </span>  <a href='../081print.mu.html#L594'>screen-height</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L594'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a>
+<span id="L79" class="LineNr">  79 </span>  <a href='../081print.mu.html#L587'>screen-height</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L587'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a>
 <span id="L80" class="LineNr">  80 </span>  <span class="Comment"># count newlines until screen row</span>
 <span id="L81" class="LineNr">  81 </span>  curr:&amp;:duplex-list:char <span class="Special">&lt;-</span> get *editor, <span class="Constant">top-of-screen:offset</span>
 <span id="L82" class="LineNr">  82 </span>  <a href='../065duplex_list.mu.html#L36'>prev</a>:&amp;:duplex-list:char <span class="Special">&lt;-</span> copy curr  <span class="Comment"># just in case curr becomes null and we can't compute prev</span>
@@ -154,7 +154,7 @@ if ('onhashchange' in window) {
 <span id="L91" class="LineNr">  91 </span>  <span class="Delimiter">{</span>
 <span id="L92" class="LineNr">  92 </span><span class="Constant">  </span><span class="Conceal">¦</span><span class="Constant"> +next-character</span>
 <span id="L93" class="LineNr">  93 </span>  <span class="Conceal">¦</span> <span class="muControl">break-unless</span> curr
-<span id="L94" class="LineNr">  94 </span>  <span class="Conceal">¦</span> off-screen?:bool <span class="Special">&lt;-</span> greater-or-equal row, <a href='../081print.mu.html#L594'>screen-height</a>
+<span id="L94" class="LineNr">  94 </span>  <span class="Conceal">¦</span> off-screen?:bool <span class="Special">&lt;-</span> greater-or-equal row, <a href='../081print.mu.html#L587'>screen-height</a>
 <span id="L95" class="LineNr">  95 </span>  <span class="Conceal">¦</span> <span class="muControl">break-if</span> off-screen?
 <span id="L96" class="LineNr">  96 </span>  <span class="Conceal">¦</span> <span class="Comment"># update editor.before-cursor</span>
 <span id="L97" class="LineNr">  97 </span>  <span class="Conceal">¦</span> <span class="Comment"># Doing so at the start of each iteration ensures it stays one step behind</span>
@@ -228,8 +228,8 @@ if ('onhashchange' in window) {
 <span id="L165" class="LineNr"> 165 </span>  <span class="Constant">local-scope</span>
 <span id="L166" class="LineNr"> 166 </span>  <span class="Constant">load-ingredients</span>
 <span id="L167" class="LineNr"> 167 </span>  <span class="muControl">return-unless</span> editor, <span class="Constant">0/don't-render</span>
-<span id="L168" class="LineNr"> 168 </span>  <a href='../081print.mu.html#L581'>screen-width</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L581'>screen-width</a> <a href='../081print.mu.html#L4'>screen</a>
-<span id="L169" class="LineNr"> 169 </span>  <a href='../081print.mu.html#L594'>screen-height</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L594'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a>
+<span id="L168" class="LineNr"> 168 </span>  <a href='../081print.mu.html#L574'>screen-width</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L574'>screen-width</a> <a href='../081print.mu.html#L4'>screen</a>
+<span id="L169" class="LineNr"> 169 </span>  <a href='../081print.mu.html#L587'>screen-height</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L587'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a>
 <span id="L170" class="LineNr"> 170 </span>  left:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">left:offset</span>
 <span id="L171" class="LineNr"> 171 </span>  right:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">right:offset</span>
 <span id="L172" class="LineNr"> 172 </span>  before-cursor:&amp;:duplex-list:char <span class="Special">&lt;-</span> get *editor, <span class="Constant">before-cursor:offset</span>
@@ -274,8 +274,8 @@ if ('onhashchange' in window) {
 <span id="L211" class="LineNr"> 211 </span>  right:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">right:offset</span>
 <span id="L212" class="LineNr"> 212 </span>  save-row:num <span class="Special">&lt;-</span> copy cursor-row
 <span id="L213" class="LineNr"> 213 </span>  save-column:num <span class="Special">&lt;-</span> copy cursor-column
-<span id="L214" class="LineNr"> 214 </span>  <a href='../081print.mu.html#L581'>screen-width</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L581'>screen-width</a> <a href='../081print.mu.html#L4'>screen</a>
-<span id="L215" class="LineNr"> 215 </span>  <a href='../081print.mu.html#L594'>screen-height</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L594'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a>
+<span id="L214" class="LineNr"> 214 </span>  <a href='../081print.mu.html#L574'>screen-width</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L574'>screen-width</a> <a href='../081print.mu.html#L4'>screen</a>
+<span id="L215" class="LineNr"> 215 </span>  <a href='../081print.mu.html#L587'>screen-height</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L587'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a>
 <span id="L216" class="LineNr"> 216 </span>  <span class="Comment"># occasionally we'll need to mess with the cursor</span>
 <span id="L217" class="LineNr"> 217 </span><span class="Constant">  <a href='002-typing.mu.html#L217'>&lt;insert-character-special-case&gt;</a></span>
 <span id="L218" class="LineNr"> 218 </span>  <span class="Comment"># but mostly we'll just move the cursor right</span>
@@ -286,22 +286,22 @@ if ('onhashchange' in window) {
 <span id="L223" class="LineNr"> 223 </span>  <span class="Conceal">¦</span> <span class="Comment"># at end of all text? no need to scroll? just print the character and leave</span>
 <span id="L224" class="LineNr"> 224 </span>  <span class="Conceal">¦</span> at-end?:bool <span class="Special">&lt;-</span> equal <a href='../065duplex_list.mu.html#L29'>next</a>, <span class="Constant">0/null</span>
 <span id="L225" class="LineNr"> 225 </span>  <span class="Conceal">¦</span> <span class="muControl">break-unless</span> at-end?
-<span id="L226" class="LineNr"> 226 </span>  <span class="Conceal">¦</span> bottom:num <span class="Special">&lt;-</span> subtract <a href='../081print.mu.html#L594'>screen-height</a>,<span class="Constant"> 1</span>
+<span id="L226" class="LineNr"> 226 </span>  <span class="Conceal">¦</span> bottom:num <span class="Special">&lt;-</span> subtract <a href='../081print.mu.html#L587'>screen-height</a>,<span class="Constant"> 1</span>
 <span id="L227" class="LineNr"> 227 </span>  <span class="Conceal">¦</span> at-bottom?:bool <span class="Special">&lt;-</span> equal save-row, bottom
 <span id="L228" class="LineNr"> 228 </span>  <span class="Conceal">¦</span> at-right?:bool <span class="Special">&lt;-</span> equal save-column, right
 <span id="L229" class="LineNr"> 229 </span>  <span class="Conceal">¦</span> overflow?:bool <span class="Special">&lt;-</span> and at-bottom?, at-right?
 <span id="L230" class="LineNr"> 230 </span>  <span class="Conceal">¦</span> <span class="muControl">break-if</span> overflow?
-<span id="L231" class="LineNr"> 231 </span>  <span class="Conceal">¦</span> <a href='../081print.mu.html#L442'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, save-row, save-column
+<span id="L231" class="LineNr"> 231 </span>  <span class="Conceal">¦</span> <a href='../081print.mu.html#L435'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, save-row, save-column
 <span id="L232" class="LineNr"> 232 </span>  <span class="Conceal">¦</span> print <a href='../081print.mu.html#L4'>screen</a>, c
 <span id="L233" class="LineNr"> 233 </span>  <span class="Conceal">¦</span> <span class="muControl">return</span> <span class="Constant">0/don't-render</span>
 <span id="L234" class="LineNr"> 234 </span>  <span class="Delimiter">}</span>
 <span id="L235" class="LineNr"> 235 </span>  <span class="Delimiter">{</span>
 <span id="L236" class="LineNr"> 236 </span>  <span class="Conceal">¦</span> <span class="Comment"># not at right margin? print the character and rest of line</span>
 <span id="L237" class="LineNr"> 237 </span>  <span class="Conceal">¦</span> <span class="muControl">break-unless</span> <a href='../065duplex_list.mu.html#L29'>next</a>
-<span id="L238" class="LineNr"> 238 </span>  <span class="Conceal">¦</span> at-right?:bool <span class="Special">&lt;-</span> greater-or-equal cursor-column, <a href='../081print.mu.html#L581'>screen-width</a>
+<span id="L238" class="LineNr"> 238 </span>  <span class="Conceal">¦</span> at-right?:bool <span class="Special">&lt;-</span> greater-or-equal cursor-column, <a href='../081print.mu.html#L574'>screen-width</a>
 <span id="L239" class="LineNr"> 239 </span>  <span class="Conceal">¦</span> <span class="muControl">break-if</span> at-right?
 <span id="L240" class="LineNr"> 240 </span>  <span class="Conceal">¦</span> curr:&amp;:duplex-list:char <span class="Special">&lt;-</span> copy before-cursor
-<span id="L241" class="LineNr"> 241 </span>  <span class="Conceal">¦</span> <a href='../081print.mu.html#L442'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, save-row, save-column
+<span id="L241" class="LineNr"> 241 </span>  <span class="Conceal">¦</span> <a href='../081print.mu.html#L435'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, save-row, save-column
 <span id="L242" class="LineNr"> 242 </span>  <span class="Conceal">¦</span> curr-column:num <span class="Special">&lt;-</span> copy save-column
 <span id="L243" class="LineNr"> 243 </span>  <span class="Conceal">¦</span> <span class="Delimiter">{</span>
 <span id="L244" class="LineNr"> 244 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># hit right margin? give up and let caller render</span>
@@ -328,18 +328,18 @@ if ('onhashchange' in window) {
 <span id="L265" class="LineNr"> 265 </span>  <span class="Constant">load-ingredients</span>
 <span id="L266" class="LineNr"> 266 </span>  left:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">left:offset</span>
 <span id="L267" class="LineNr"> 267 </span>  right:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">right:offset</span>
-<span id="L268" class="LineNr"> 268 </span>  row:num, column:num <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L123'>render</a> <a href='../081print.mu.html#L4'>screen</a>, editor
-<span id="L269" class="LineNr"> 269 </span>  <a href='../081print.mu.html#L408'>clear-line-until</a> <a href='../081print.mu.html#L4'>screen</a>, right
+<span id="L268" class="LineNr"> 268 </span>  row:num, column:num <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L121'>render</a> <a href='../081print.mu.html#L4'>screen</a>, editor
+<span id="L269" class="LineNr"> 269 </span>  <a href='../081print.mu.html#L401'>clear-line-until</a> <a href='../081print.mu.html#L4'>screen</a>, right
 <span id="L270" class="LineNr"> 270 </span>  row <span class="Special">&lt;-</span> add row,<span class="Constant"> 1</span>
 <span id="L271" class="LineNr"> 271 </span>  <a href='002-typing.mu.html#L1056'>draw-horizontal</a> <a href='../081print.mu.html#L4'>screen</a>, row, left, right, <span class="Constant">9480/horizontal-dotted</span>
 <span id="L272" class="LineNr"> 272 </span>  row <span class="Special">&lt;-</span> add row,<span class="Constant"> 1</span>
-<span id="L273" class="LineNr"> 273 </span>  <a href='001-editor.mu.html#L223'>clear-screen-from</a> <a href='../081print.mu.html#L4'>screen</a>, row, left, left, right
+<span id="L273" class="LineNr"> 273 </span>  <a href='001-editor.mu.html#L221'>clear-screen-from</a> <a href='../081print.mu.html#L4'>screen</a>, row, left, left, right
 <span id="L274" class="LineNr"> 274 </span>]
 <span id="L275" class="LineNr"> 275 </span>
 <span id="L276" class="LineNr"> 276 </span><span class="muScenario">scenario</span> editor-handles-empty-event-queue [
 <span id="L277" class="LineNr"> 277 </span>  <span class="Constant">local-scope</span>
 <span id="L278" class="LineNr"> 278 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L279" class="LineNr"> 279 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L279" class="LineNr"> 279 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L280" class="LineNr"> 280 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L281" class="LineNr"> 281 </span>  assume-console <span class="Constant">[]</span>
 <span id="L282" class="LineNr"> 282 </span>  run [
@@ -356,7 +356,7 @@ if ('onhashchange' in window) {
 <span id="L293" class="LineNr"> 293 </span><span class="muScenario">scenario</span> editor-handles-mouse-clicks [
 <span id="L294" class="LineNr"> 294 </span>  <span class="Constant">local-scope</span>
 <span id="L295" class="LineNr"> 295 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L296" class="LineNr"> 296 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L296" class="LineNr"> 296 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L297" class="LineNr"> 297 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L298" class="LineNr"> 298 </span>  $clear-trace
 <span id="L299" class="LineNr"> 299 </span>  assume-console [
@@ -383,7 +383,7 @@ if ('onhashchange' in window) {
 <span id="L320" class="LineNr"> 320 </span><span class="muScenario">scenario</span> editor-handles-mouse-clicks-outside-text [
 <span id="L321" class="LineNr"> 321 </span>  <span class="Constant">local-scope</span>
 <span id="L322" class="LineNr"> 322 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L323" class="LineNr"> 323 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L323" class="LineNr"> 323 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L324" class="LineNr"> 324 </span>  $clear-trace
 <span id="L325" class="LineNr"> 325 </span>  assume-console [
 <span id="L326" class="LineNr"> 326 </span>  <span class="Conceal">¦</span> left-click<span class="Constant"> 1</span>,<span class="Constant"> 7</span>  <span class="Comment"># last line, to the right of text</span>
@@ -405,7 +405,7 @@ if ('onhashchange' in window) {
 <span id="L342" class="LineNr"> 342 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
 <span id="L343" class="LineNr"> 343 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[abc</span>
 <span id="L344" class="LineNr"> 344 </span><span class="Constant">def]</span>
-<span id="L345" class="LineNr"> 345 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L345" class="LineNr"> 345 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L346" class="LineNr"> 346 </span>  $clear-trace
 <span id="L347" class="LineNr"> 347 </span>  assume-console [
 <span id="L348" class="LineNr"> 348 </span>  <span class="Conceal">¦</span> left-click<span class="Constant"> 1</span>,<span class="Constant"> 7</span>  <span class="Comment"># interior line, to the right of text</span>
@@ -427,7 +427,7 @@ if ('onhashchange' in window) {
 <span id="L364" class="LineNr"> 364 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
 <span id="L365" class="LineNr"> 365 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[abc</span>
 <span id="L366" class="LineNr"> 366 </span><span class="Constant">def]</span>
-<span id="L367" class="LineNr"> 367 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L367" class="LineNr"> 367 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L368" class="LineNr"> 368 </span>  $clear-trace
 <span id="L369" class="LineNr"> 369 </span>  assume-console [
 <span id="L370" class="LineNr"> 370 </span>  <span class="Conceal">¦</span> left-click<span class="Constant"> 3</span>,<span class="Constant"> 7</span>  <span class="Comment"># below text</span>
@@ -448,7 +448,7 @@ if ('onhashchange' in window) {
 <span id="L385" class="LineNr"> 385 </span>  <span class="Constant">local-scope</span>
 <span id="L386" class="LineNr"> 386 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
 <span id="L387" class="LineNr"> 387 </span>  <span class="Comment"># editor occupies only left half of screen</span>
-<span id="L388" class="LineNr"> 388 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L388" class="LineNr"> 388 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L389" class="LineNr"> 389 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L390" class="LineNr"> 390 </span>  $clear-trace
 <span id="L391" class="LineNr"> 391 </span>  assume-console [
@@ -476,7 +476,7 @@ if ('onhashchange' in window) {
 <span id="L413" class="LineNr"> 413 </span><span class="muScenario">scenario</span> editor-handles-mouse-clicks-in-menu-area [
 <span id="L414" class="LineNr"> 414 </span>  <span class="Constant">local-scope</span>
 <span id="L415" class="LineNr"> 415 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L416" class="LineNr"> 416 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L416" class="LineNr"> 416 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L417" class="LineNr"> 417 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L418" class="LineNr"> 418 </span>  $clear-trace
 <span id="L419" class="LineNr"> 419 </span>  assume-console [
@@ -498,7 +498,7 @@ if ('onhashchange' in window) {
 <span id="L435" class="LineNr"> 435 </span><span class="muScenario">scenario</span> editor-inserts-characters-into-empty-editor [
 <span id="L436" class="LineNr"> 436 </span>  <span class="Constant">local-scope</span>
 <span id="L437" class="LineNr"> 437 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L438" class="LineNr"> 438 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L438" class="LineNr"> 438 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L439" class="LineNr"> 439 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L440" class="LineNr"> 440 </span>  $clear-trace
 <span id="L441" class="LineNr"> 441 </span>  assume-console [
@@ -519,7 +519,7 @@ if ('onhashchange' in window) {
 <span id="L456" class="LineNr"> 456 </span><span class="muScenario">scenario</span> editor-inserts-characters-at-cursor [
 <span id="L457" class="LineNr"> 457 </span>  <span class="Constant">local-scope</span>
 <span id="L458" class="LineNr"> 458 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L459" class="LineNr"> 459 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L459" class="LineNr"> 459 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L460" class="LineNr"> 460 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L461" class="LineNr"> 461 </span>  $clear-trace
 <span id="L462" class="LineNr"> 462 </span>  <span class="Comment"># type two letters at different places</span>
@@ -543,7 +543,7 @@ if ('onhashchange' in window) {
 <span id="L480" class="LineNr"> 480 </span><span class="muScenario">scenario</span> editor-inserts-characters-at-cursor-2 [
 <span id="L481" class="LineNr"> 481 </span>  <span class="Constant">local-scope</span>
 <span id="L482" class="LineNr"> 482 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L483" class="LineNr"> 483 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L483" class="LineNr"> 483 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L484" class="LineNr"> 484 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L485" class="LineNr"> 485 </span>  $clear-trace
 <span id="L486" class="LineNr"> 486 </span>  assume-console [
@@ -567,7 +567,7 @@ if ('onhashchange' in window) {
 <span id="L504" class="LineNr"> 504 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
 <span id="L505" class="LineNr"> 505 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[abc</span>
 <span id="L506" class="LineNr"> 506 </span><span class="Constant">d]</span>
-<span id="L507" class="LineNr"> 507 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L507" class="LineNr"> 507 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L508" class="LineNr"> 508 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L509" class="LineNr"> 509 </span>  $clear-trace
 <span id="L510" class="LineNr"> 510 </span>  assume-console [
@@ -590,7 +590,7 @@ if ('onhashchange' in window) {
 <span id="L527" class="LineNr"> 527 </span><span class="muScenario">scenario</span> editor-inserts-characters-at-cursor-3 [
 <span id="L528" class="LineNr"> 528 </span>  <span class="Constant">local-scope</span>
 <span id="L529" class="LineNr"> 529 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L530" class="LineNr"> 530 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L530" class="LineNr"> 530 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L531" class="LineNr"> 531 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L532" class="LineNr"> 532 </span>  $clear-trace
 <span id="L533" class="LineNr"> 533 </span>  assume-console [
@@ -614,7 +614,7 @@ if ('onhashchange' in window) {
 <span id="L551" class="LineNr"> 551 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
 <span id="L552" class="LineNr"> 552 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[abc</span>
 <span id="L553" class="LineNr"> 553 </span><span class="Constant">d]</span>
-<span id="L554" class="LineNr"> 554 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L554" class="LineNr"> 554 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L555" class="LineNr"> 555 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L556" class="LineNr"> 556 </span>  $clear-trace
 <span id="L557" class="LineNr"> 557 </span>  assume-console [
@@ -639,7 +639,7 @@ if ('onhashchange' in window) {
 <span id="L576" class="LineNr"> 576 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
 <span id="L577" class="LineNr"> 577 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[abc</span>
 <span id="L578" class="LineNr"> 578 </span><span class="Constant">d]</span>
-<span id="L579" class="LineNr"> 579 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L579" class="LineNr"> 579 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L580" class="LineNr"> 580 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L581" class="LineNr"> 581 </span>  $clear-trace
 <span id="L582" class="LineNr"> 582 </span>  assume-console [
@@ -662,7 +662,7 @@ if ('onhashchange' in window) {
 <span id="L599" class="LineNr"> 599 </span><span class="muScenario">scenario</span> editor-moves-cursor-after-inserting-characters [
 <span id="L600" class="LineNr"> 600 </span>  <span class="Constant">local-scope</span>
 <span id="L601" class="LineNr"> 601 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L602" class="LineNr"> 602 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[ab]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L602" class="LineNr"> 602 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[ab]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L603" class="LineNr"> 603 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L604" class="LineNr"> 604 </span>  assume-console [
 <span id="L605" class="LineNr"> 605 </span>  <span class="Conceal">¦</span> type <span class="Constant">[01]</span>
@@ -683,7 +683,7 @@ if ('onhashchange' in window) {
 <span id="L620" class="LineNr"> 620 </span><span class="muScenario">scenario</span> editor-wraps-line-on-insert [
 <span id="L621" class="LineNr"> 621 </span>  <span class="Constant">local-scope</span>
 <span id="L622" class="LineNr"> 622 </span>  assume-screen <span class="Constant">5/width</span>, <span class="Constant">5/height</span>
-<span id="L623" class="LineNr"> 623 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L623" class="LineNr"> 623 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L624" class="LineNr"> 624 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L625" class="LineNr"> 625 </span>  <span class="Comment"># type a letter</span>
 <span id="L626" class="LineNr"> 626 </span>  assume-console [
@@ -723,7 +723,7 @@ if ('onhashchange' in window) {
 <span id="L660" class="LineNr"> 660 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
 <span id="L661" class="LineNr"> 661 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[abcdefg</span>
 <span id="L662" class="LineNr"> 662 </span><span class="Constant">defg]</span>
-<span id="L663" class="LineNr"> 663 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L663" class="LineNr"> 663 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L664" class="LineNr"> 664 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L665" class="LineNr"> 665 </span>  <span class="Comment"># type more text at the start</span>
 <span id="L666" class="LineNr"> 666 </span>  assume-console [
@@ -792,7 +792,7 @@ if ('onhashchange' in window) {
 <span id="L729" class="LineNr"> 729 </span>  <span class="Conceal">¦</span> *editor <span class="Special">&lt;-</span> put *editor, <span class="Constant">cursor-row:offset</span>, cursor-row
 <span id="L730" class="LineNr"> 730 </span>  <span class="Conceal">¦</span> <span class="Comment"># if we're out of the screen, scroll down</span>
 <span id="L731" class="LineNr"> 731 </span>  <span class="Conceal">¦</span> <span class="Delimiter">{</span>
-<span id="L732" class="LineNr"> 732 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> below-screen?:bool <span class="Special">&lt;-</span> greater-or-equal cursor-row, <a href='../081print.mu.html#L594'>screen-height</a>
+<span id="L732" class="LineNr"> 732 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> below-screen?:bool <span class="Special">&lt;-</span> greater-or-equal cursor-row, <a href='../081print.mu.html#L587'>screen-height</a>
 <span id="L733" class="LineNr"> 733 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> below-screen?
 <span id="L734" class="LineNr"> 734 </span><span class="Constant">  </span><span class="Conceal">¦</span><span class="Constant"> </span><span class="Conceal">¦</span><span class="Constant"> &lt;scroll-down&gt;</span>
 <span id="L735" class="LineNr"> 735 </span>  <span class="Conceal">¦</span> <span class="Delimiter">}</span>
@@ -803,7 +803,7 @@ if ('onhashchange' in window) {
 <span id="L740" class="LineNr"> 740 </span><span class="muScenario">scenario</span> editor-wraps-cursor-after-inserting-characters-in-middle-of-line [
 <span id="L741" class="LineNr"> 741 </span>  <span class="Constant">local-scope</span>
 <span id="L742" class="LineNr"> 742 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L743" class="LineNr"> 743 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abcde]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L743" class="LineNr"> 743 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abcde]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L744" class="LineNr"> 744 </span>  assume-console [
 <span id="L745" class="LineNr"> 745 </span>  <span class="Conceal">¦</span> left-click<span class="Constant"> 1</span>,<span class="Constant"> 3</span>  <span class="Comment"># right before the wrap icon</span>
 <span id="L746" class="LineNr"> 746 </span>  <span class="Conceal">¦</span> type <span class="Constant">[f]</span>
@@ -832,7 +832,7 @@ if ('onhashchange' in window) {
 <span id="L769" class="LineNr"> 769 </span>  <span class="Comment"># create an editor containing two lines</span>
 <span id="L770" class="LineNr"> 770 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[abc</span>
 <span id="L771" class="LineNr"> 771 </span><span class="Constant">xyz]</span>
-<span id="L772" class="LineNr"> 772 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L772" class="LineNr"> 772 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L773" class="LineNr"> 773 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L774" class="LineNr"> 774 </span>  screen-should-contain [
 <span id="L775" class="LineNr"> 775 </span>  <span class="Conceal">¦</span><span class="Constant"> .          .</span>
@@ -860,7 +860,7 @@ if ('onhashchange' in window) {
 <span id="L797" class="LineNr"> 797 </span><span class="muScenario">scenario</span> editor-wraps-cursor-to-left-margin [
 <span id="L798" class="LineNr"> 798 </span>  <span class="Constant">local-scope</span>
 <span id="L799" class="LineNr"> 799 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L800" class="LineNr"> 800 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abcde]</span>, <span class="Constant">2/left</span>, <span class="Constant">7/right</span>
+<span id="L800" class="LineNr"> 800 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abcde]</span>, <span class="Constant">2/left</span>, <span class="Constant">7/right</span>
 <span id="L801" class="LineNr"> 801 </span>  assume-console [
 <span id="L802" class="LineNr"> 802 </span>  <span class="Conceal">¦</span> left-click<span class="Constant"> 1</span>,<span class="Constant"> 5</span>  <span class="Comment"># line is full; no wrap icon yet</span>
 <span id="L803" class="LineNr"> 803 </span>  <span class="Conceal">¦</span> type <span class="Constant">[01]</span>
@@ -889,14 +889,14 @@ if ('onhashchange' in window) {
 <span id="L826" class="LineNr"> 826 </span>  indent?:bool
 <span id="L827" class="LineNr"> 827 </span>]
 <span id="L828" class="LineNr"> 828 </span>
-<span id="L829" class="LineNr"> 829 </span><span class="muRecipe">after</span> <span class="Constant"><a href='001-editor.mu.html#L70'>&lt;editor-initialization&gt;</a></span> [
+<span id="L829" class="LineNr"> 829 </span><span class="muRecipe">after</span> <span class="Constant"><a href='001-editor.mu.html#L68'>&lt;editor-initialization&gt;</a></span> [
 <span id="L830" class="LineNr"> 830 </span>  *result <span class="Special">&lt;-</span> put *result, <span class="Constant">indent?:offset</span>, <span class="Constant">1/true</span>
 <span id="L831" class="LineNr"> 831 </span>]
 <span id="L832" class="LineNr"> 832 </span>
 <span id="L833" class="LineNr"> 833 </span><span class="muScenario">scenario</span> editor-moves-cursor-down-after-inserting-newline [
 <span id="L834" class="LineNr"> 834 </span>  <span class="Constant">local-scope</span>
 <span id="L835" class="LineNr"> 835 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L836" class="LineNr"> 836 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L836" class="LineNr"> 836 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L837" class="LineNr"> 837 </span>  assume-console [
 <span id="L838" class="LineNr"> 838 </span>  <span class="Conceal">¦</span> type <span class="Constant">[0</span>
 <span id="L839" class="LineNr"> 839 </span><span class="Constant">1]</span>
@@ -932,7 +932,7 @@ if ('onhashchange' in window) {
 <span id="L869" class="LineNr"> 869 </span>  before-cursor:&amp;:duplex-list:char <span class="Special">&lt;-</span> get *editor, <span class="Constant">before-cursor:offset</span>
 <span id="L870" class="LineNr"> 870 </span>  left:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">left:offset</span>
 <span id="L871" class="LineNr"> 871 </span>  right:num <span class="Special">&lt;-</span> get *editor, <span class="Constant">right:offset</span>
-<span id="L872" class="LineNr"> 872 </span>  <a href='../081print.mu.html#L594'>screen-height</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L594'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a>
+<span id="L872" class="LineNr"> 872 </span>  <a href='../081print.mu.html#L587'>screen-height</a>:num <span class="Special">&lt;-</span> <a href='../081print.mu.html#L587'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a>
 <span id="L873" class="LineNr"> 873 </span>  <span class="Comment"># insert newline</span>
 <span id="L874" class="LineNr"> 874 </span>  insert <span class="Constant">10/newline</span>, before-cursor
 <span id="L875" class="LineNr"> 875 </span>  before-cursor <span class="Special">&lt;-</span> <a href='../065duplex_list.mu.html#L29'>next</a> before-cursor
@@ -943,7 +943,7 @@ if ('onhashchange' in window) {
 <span id="L880" class="LineNr"> 880 </span>  *editor <span class="Special">&lt;-</span> put *editor, <span class="Constant">cursor-column:offset</span>, cursor-column
 <span id="L881" class="LineNr"> 881 </span>  <span class="Comment"># maybe scroll</span>
 <span id="L882" class="LineNr"> 882 </span>  <span class="Delimiter">{</span>
-<span id="L883" class="LineNr"> 883 </span>  <span class="Conceal">¦</span> below-screen?:bool <span class="Special">&lt;-</span> greater-or-equal cursor-row, <a href='../081print.mu.html#L594'>screen-height</a>  <span class="Comment"># must be equal, never greater</span>
+<span id="L883" class="LineNr"> 883 </span>  <span class="Conceal">¦</span> below-screen?:bool <span class="Special">&lt;-</span> greater-or-equal cursor-row, <a href='../081print.mu.html#L587'>screen-height</a>  <span class="Comment"># must be equal, never greater</span>
 <span id="L884" class="LineNr"> 884 </span>  <span class="Conceal">¦</span> <span class="muControl">break-unless</span> below-screen?
 <span id="L885" class="LineNr"> 885 </span><span class="Constant">  </span><span class="Conceal">¦</span><span class="Constant"> &lt;scroll-down&gt;</span>
 <span id="L886" class="LineNr"> 886 </span>  <span class="Conceal">¦</span> cursor-row <span class="Special">&lt;-</span> subtract cursor-row,<span class="Constant"> 1</span>  <span class="Comment"># bring back into screen range</span>
@@ -1000,7 +1000,7 @@ if ('onhashchange' in window) {
 <span id="L937" class="LineNr"> 937 </span><span class="muScenario">scenario</span> editor-moves-cursor-down-after-inserting-newline-2 [
 <span id="L938" class="LineNr"> 938 </span>  <span class="Constant">local-scope</span>
 <span id="L939" class="LineNr"> 939 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L940" class="LineNr"> 940 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">1/left</span>, <span class="Constant">10/right</span>
+<span id="L940" class="LineNr"> 940 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abc]</span>, <span class="Constant">1/left</span>, <span class="Constant">10/right</span>
 <span id="L941" class="LineNr"> 941 </span>  assume-console [
 <span id="L942" class="LineNr"> 942 </span>  <span class="Conceal">¦</span> type <span class="Constant">[0</span>
 <span id="L943" class="LineNr"> 943 </span><span class="Constant">1]</span>
@@ -1020,7 +1020,7 @@ if ('onhashchange' in window) {
 <span id="L957" class="LineNr"> 957 </span><span class="muScenario">scenario</span> editor-clears-previous-line-completely-after-inserting-newline [
 <span id="L958" class="LineNr"> 958 </span>  <span class="Constant">local-scope</span>
 <span id="L959" class="LineNr"> 959 </span>  assume-screen <span class="Constant">10/width</span>, <span class="Constant">5/height</span>
-<span id="L960" class="LineNr"> 960 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> <span class="Constant">[abcde]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
+<span id="L960" class="LineNr"> 960 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> <span class="Constant">[abcde]</span>, <span class="Constant">0/left</span>, <span class="Constant">5/right</span>
 <span id="L961" class="LineNr"> 961 </span>  <a href='002-typing.mu.html#L263'>editor-render</a> <a href='../081print.mu.html#L4'>screen</a>, e
 <span id="L962" class="LineNr"> 962 </span>  screen-should-contain [
 <span id="L963" class="LineNr"> 963 </span>  <span class="Conceal">¦</span><span class="Constant"> .          .</span>
@@ -1051,7 +1051,7 @@ if ('onhashchange' in window) {
 <span id="L988" class="LineNr"> 988 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[ab</span>
 <span id="L989" class="LineNr"> 989 </span><span class="Constant">  cd</span>
 <span id="L990" class="LineNr"> 990 </span><span class="Constant">ef]</span>
-<span id="L991" class="LineNr"> 991 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L991" class="LineNr"> 991 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L992" class="LineNr"> 992 </span>  <span class="Comment"># position cursor after 'cd' and hit 'newline'</span>
 <span id="L993" class="LineNr"> 993 </span>  assume-console [
 <span id="L994" class="LineNr"> 994 </span>  <span class="Conceal">¦</span> left-click<span class="Constant"> 2</span>,<span class="Constant"> 8</span>
@@ -1076,7 +1076,7 @@ if ('onhashchange' in window) {
 <span id="L1013" class="LineNr">1013 </span>  s:text <span class="Special">&lt;-</span> new <span class="Constant">[ab</span>
 <span id="L1014" class="LineNr">1014 </span><span class="Constant">  cd</span>
 <span id="L1015" class="LineNr">1015 </span><span class="Constant">ef]</span>
-<span id="L1016" class="LineNr">1016 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L52'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
+<span id="L1016" class="LineNr">1016 </span>  e:&amp;:editor <span class="Special">&lt;-</span> <a href='001-editor.mu.html#L50'>new-editor</a> s, <span class="Constant">0/left</span>, <span class="Constant">10/right</span>
 <span id="L1017" class="LineNr">1017 </span>  <span class="Comment"># position cursor after 'cd' and hit 'newline' surrounded by paste markers</span>
 <span id="L1018" class="LineNr">1018 </span>  assume-console [
 <span id="L1019" class="LineNr">1019 </span>  <span class="Conceal">¦</span> left-click<span class="Constant"> 2</span>,<span class="Constant"> 8</span>
@@ -1135,7 +1135,7 @@ if ('onhashchange' in window) {
 <span id="L1072" class="LineNr">1072 </span>  <span class="Conceal">¦</span> <span class="muControl">break-if</span> bg-color-found?
 <span id="L1073" class="LineNr">1073 </span>  <span class="Conceal">¦</span> bg-color <span class="Special">&lt;-</span> copy <span class="Constant">0/black</span>
 <span id="L1074" class="LineNr">1074 </span>  <span class="Delimiter">}</span>
-<span id="L1075" class="LineNr">1075 </span>  <a href='../081print.mu.html#L4'>screen</a> <span class="Special">&lt;-</span> <a href='../081print.mu.html#L442'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, x
+<span id="L1075" class="LineNr">1075 </span>  <a href='../081print.mu.html#L4'>screen</a> <span class="Special">&lt;-</span> <a href='../081print.mu.html#L435'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, x
 <span id="L1076" class="LineNr">1076 </span>  <span class="Delimiter">{</span>
 <span id="L1077" class="LineNr">1077 </span>  <span class="Conceal">¦</span> continue?:bool <span class="Special">&lt;-</span> lesser-or-equal x, right  <span class="Comment"># right is inclusive, to match editor semantics</span>
 <span id="L1078" class="LineNr">1078 </span>  <span class="Conceal">¦</span> <span class="muControl">break-unless</span> continue?