diff options
Diffstat (limited to 'html/edit/002-typing.mu.html')
-rw-r--r-- | html/edit/002-typing.mu.html | 90 |
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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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"><-</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"><-</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"><-</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"><-</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"><-</span> get *editor, <span class="Constant">left:offset</span> <span id="L78" class="LineNr"> 78 </span> right:num <span class="Special"><-</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"><-</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"><-</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:&:duplex-list:char <span class="Special"><-</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>:&:duplex-list:char <span class="Special"><-</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"><-</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"><-</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"><-</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"><-</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"><-</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"><-</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"><-</span> get *editor, <span class="Constant">left:offset</span> <span id="L171" class="LineNr"> 171 </span> right:num <span class="Special"><-</span> get *editor, <span class="Constant">right:offset</span> <span id="L172" class="LineNr"> 172 </span> before-cursor:&:duplex-list:char <span class="Special"><-</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"><-</span> get *editor, <span class="Constant">right:offset</span> <span id="L212" class="LineNr"> 212 </span> save-row:num <span class="Special"><-</span> copy cursor-row <span id="L213" class="LineNr"> 213 </span> save-column:num <span class="Special"><-</span> copy cursor-column -<span id="L214" class="LineNr"> 214 </span> <a href='../081print.mu.html#L581'>screen-width</a>:num <span class="Special"><-</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"><-</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"><-</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"><-</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'><insert-character-special-case></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"><-</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"><-</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"><-</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"><-</span> equal save-row, bottom <span id="L228" class="LineNr"> 228 </span> <span class="Conceal">¦</span> at-right?:bool <span class="Special"><-</span> equal save-column, right <span id="L229" class="LineNr"> 229 </span> <span class="Conceal">¦</span> overflow?:bool <span class="Special"><-</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"><-</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"><-</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:&:duplex-list:char <span class="Special"><-</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"><-</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"><-</span> get *editor, <span class="Constant">left:offset</span> <span id="L267" class="LineNr"> 267 </span> right:num <span class="Special"><-</span> get *editor, <span class="Constant">right:offset</span> -<span id="L268" class="LineNr"> 268 </span> row:num, column:num <span class="Special"><-</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"><-</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"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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"><-</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"><-</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"> <scroll-down></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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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'><editor-initialization></a></span> [ +<span id="L829" class="LineNr"> 829 </span><span class="muRecipe">after</span> <span class="Constant"><a href='001-editor.mu.html#L68'><editor-initialization></a></span> [ <span id="L830" class="LineNr"> 830 </span> *result <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:duplex-list:char <span class="Special"><-</span> get *editor, <span class="Constant">before-cursor:offset</span> <span id="L870" class="LineNr"> 870 </span> left:num <span class="Special"><-</span> get *editor, <span class="Constant">left:offset</span> <span id="L871" class="LineNr"> 871 </span> right:num <span class="Special"><-</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"><-</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"><-</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"><-</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"><-</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"><-</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"><-</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"> <scroll-down></span> <span id="L886" class="LineNr"> 886 </span> <span class="Conceal">¦</span> cursor-row <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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:&:editor <span class="Special"><-</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:&:editor <span class="Special"><-</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"><-</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"><-</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"><-</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"><-</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? |