diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-10-06 23:51:55 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-10-06 23:51:55 -0700 |
commit | 4a70fb39cc6a0f2ebe34e9b58b873e13d8221015 (patch) | |
tree | 0a9ea58f4d0f3786b1023ae0d347361976a694fa /edit | |
parent | eeed3845cd504028779c333665e0b9fad2070357 (diff) | |
download | mu-4a70fb39cc6a0f2ebe34e9b58b873e13d8221015.tar.gz |
3457
Switch around some unicode characters in the edit/ app so that it renders more cleanly in html (with monospace fonts).
Diffstat (limited to 'edit')
-rw-r--r-- | edit/002-typing.mu | 40 | ||||
-rw-r--r-- | edit/003-shortcuts.mu | 92 | ||||
-rw-r--r-- | edit/004-programming-environment.mu | 54 | ||||
-rw-r--r-- | edit/005-sandbox.mu | 342 | ||||
-rw-r--r-- | edit/006-sandbox-copy.mu | 126 | ||||
-rw-r--r-- | edit/007-sandbox-delete.mu | 152 | ||||
-rw-r--r-- | edit/008-sandbox-edit.mu | 182 | ||||
-rw-r--r-- | edit/009-sandbox-test.mu | 32 | ||||
-rw-r--r-- | edit/010-sandbox-trace.mu | 96 | ||||
-rw-r--r-- | edit/011-errors.mu | 264 | ||||
-rw-r--r-- | edit/012-editor-undo.mu | 122 |
11 files changed, 751 insertions, 751 deletions
diff --git a/edit/002-typing.mu b/edit/002-typing.mu index 2f94f362..9fb5042e 100644 --- a/edit/002-typing.mu +++ b/edit/002-typing.mu @@ -275,7 +275,7 @@ def editor-render screen:&:screen, editor:&:editor -> screen:&:screen, editor:&: row:num, column:num <- render screen, editor clear-line-until screen, right row <- add row, 1 - draw-horizontal screen, row, left, right, 9480/horizontal-dotted + draw-horizontal screen, row, left, right, 9548/horizontal-dashed row <- add row, 1 clear-screen-from screen, row, left, left, right ] @@ -292,7 +292,7 @@ scenario editor-handles-empty-event-queue [ screen-should-contain [ . . .abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -314,7 +314,7 @@ scenario editor-handles-mouse-clicks [ screen-should-contain [ . . .abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -407,7 +407,7 @@ scenario editor-handles-mouse-clicks-outside-column [ screen-should-contain [ . . .abc . - .┈┈┈┈┈ . + .╌╌╌╌╌ . . . ] memory-should-contain [ @@ -454,7 +454,7 @@ scenario editor-inserts-characters-into-empty-editor [ screen-should-contain [ . . .abc . - .┈┈┈┈┈ . + .╌╌╌╌╌ . . . ] check-trace-count-for-label 3, [print-character] @@ -478,7 +478,7 @@ scenario editor-inserts-characters-at-cursor [ screen-should-contain [ . . .0adbc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 7, [print-character] # 4 for first letter, 3 for second @@ -500,7 +500,7 @@ scenario editor-inserts-characters-at-cursor-2 [ screen-should-contain [ . . .abcd . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 1, [print-character] @@ -525,7 +525,7 @@ d] . . .abce . .d . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 1, [print-character] @@ -547,7 +547,7 @@ scenario editor-inserts-characters-at-cursor-3 [ screen-should-contain [ . . .abcd . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 1, [print-character] @@ -572,7 +572,7 @@ d] . . .abc . .de . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 1, [print-character] @@ -597,7 +597,7 @@ d] . . .abc . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 2, [print-character] @@ -617,7 +617,7 @@ scenario editor-moves-cursor-after-inserting-characters [ screen-should-contain [ . . .01ab . - .┈┈┈┈┈ . + .╌╌╌╌╌ . . . ] ] @@ -640,7 +640,7 @@ scenario editor-wraps-line-on-insert [ screen-should-contain [ . . .eabc . - .┈┈┈┈┈. + .╌╌╌╌╌. . . . . ] @@ -656,7 +656,7 @@ scenario editor-wraps-line-on-insert [ . . .efab↩. .c . - .┈┈┈┈┈. + .╌╌╌╌╌. . . ] ] @@ -762,7 +762,7 @@ scenario editor-wraps-cursor-after-inserting-characters-in-middle-of-line [ . . .abcf↩ . .de . - .┈┈┈┈┈ . + .╌╌╌╌╌ . . . ] memory-should-contain [ @@ -796,7 +796,7 @@ xyz] .abcd↩ . .e . .xyz . - .┈┈┈┈┈ . + .╌╌╌╌╌ . ] ] @@ -817,7 +817,7 @@ scenario editor-wraps-cursor-to-left-margin [ . . . abc0↩ . . 1de . - . ┈┈┈┈┈ . + . ╌╌╌╌╌ . . . ] memory-should-contain [ @@ -851,7 +851,7 @@ scenario editor-moves-cursor-down-after-inserting-newline [ . . .0 . .1abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -957,7 +957,7 @@ scenario editor-moves-cursor-down-after-inserting-newline-2 [ . . . 0 . . 1abc . - . ┈┈┈┈┈┈┈┈┈. + . ╌╌╌╌╌╌╌╌╌. . . ] ] @@ -985,7 +985,7 @@ scenario editor-clears-previous-line-completely-after-inserting-newline [ . . .abcd↩ . .e . - .┈┈┈┈┈ . + .╌╌╌╌╌ . ] ] diff --git a/edit/003-shortcuts.mu b/edit/003-shortcuts.mu index 2dbc481a..9c4467a3 100644 --- a/edit/003-shortcuts.mu +++ b/edit/003-shortcuts.mu @@ -57,7 +57,7 @@ scenario editor-handles-backspace-key [ screen-should-contain [ . . .bc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -235,7 +235,7 @@ cd] screen-should-contain [ . . .abcd . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -266,7 +266,7 @@ ghi jkl] . . .abc defgh↩. .i jkl . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -282,7 +282,7 @@ scenario editor-wraps-long-lines-on-backspace [ . . .abc def↩ . . ghij . - .┈┈┈┈┈┈┈┈ . + .╌╌╌╌╌╌╌╌ . ] $clear-trace # position the cursor somewhere in the middle of the top screen line and hit backspace @@ -298,7 +298,7 @@ scenario editor-wraps-long-lines-on-backspace [ . . .abcdef ↩ . .ghij . - .┈┈┈┈┈┈┈┈ . + .╌╌╌╌╌╌╌╌ . . . ] ] @@ -320,7 +320,7 @@ scenario editor-handles-delete-key [ screen-should-contain [ . . .bc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 3, [print-character] # length of original line to overwrite @@ -334,7 +334,7 @@ scenario editor-handles-delete-key [ screen-should-contain [ . . .c . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 2, [print-character] # new length to overwrite @@ -410,7 +410,7 @@ scenario editor-moves-cursor-right-with-key [ screen-should-contain [ . . .a0bc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 3, [print-character] # 0 and following characters @@ -521,7 +521,7 @@ d] . . .abc . .0d . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 2, [print-character] # new length of second line @@ -548,7 +548,7 @@ d] . . . abc . . 0d . - . ┈┈┈┈┈┈┈┈┈. + . ╌╌╌╌╌╌╌╌╌. . . ] ] @@ -572,7 +572,7 @@ scenario editor-moves-cursor-to-next-wrapped-line-with-right-arrow [ . . .abcd↩ . .ef . - .┈┈┈┈┈ . + .╌╌╌╌╌ . . . ] memory-should-contain [ @@ -638,7 +638,7 @@ scenario editor-moves-cursor-to-next-wrapped-line-with-right-arrow-3 [ . . . abcd↩ . . ef . - . ┈┈┈┈┈ . + . ╌╌╌╌╌ . . . ] memory-should-contain [ @@ -670,7 +670,7 @@ d] . . .abc . .0d . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 2, [print-character] @@ -697,7 +697,7 @@ scenario editor-moves-cursor-left-with-key [ screen-should-contain [ . . .a0bc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 3, [print-character] @@ -773,7 +773,7 @@ g] .abc . .def0 . .g . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] check-trace-count-for-label 1, [print-character] # just the '0' ] @@ -802,7 +802,7 @@ g] .0abc . .def . .g . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] check-trace-count-for-label 4, [print-character] # length of first line ] @@ -831,7 +831,7 @@ d] .abc . .0 . .d . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] check-trace-count-for-label 1, [print-character] # just the '0' ] @@ -847,7 +847,7 @@ scenario editor-moves-across-screen-lines-across-wrap-with-left-arrow [ . . .abcd↩ . .ef . - .┈┈┈┈┈ . + .╌╌╌╌╌ . . . ] # position cursor right after empty line @@ -881,7 +881,7 @@ g] .abcd↩ . .ef . .g . - .┈┈┈┈┈ . + .╌╌╌╌╌ . ] # position cursor right after empty line assume-console [ @@ -913,7 +913,7 @@ e] . . .abcd . .e . - .┈┈┈┈┈ . + .╌╌╌╌╌ . . . ] # position cursor right after empty line @@ -969,7 +969,7 @@ def] . . .a0bc . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1086,7 +1086,7 @@ def] . . .ab0 . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1123,7 +1123,7 @@ def] . . .0 . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1164,7 +1164,7 @@ ghi] .abc . .0def . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1203,7 +1203,7 @@ def] . . .abc . .0def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1308,7 +1308,7 @@ de] . . .abc . .de0 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1511,7 +1511,7 @@ scenario editor-moves-to-end-of-line-with-ctrl-e [ . . .123z . .456 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] check-trace-count-for-label 1, [print-character] @@ -1662,7 +1662,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u [ . . .123 . .6 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1726,7 +1726,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u-2 [ . . .3 . .456 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1750,7 +1750,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u-3 [ . . . . .456 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1774,7 +1774,7 @@ scenario editor-deletes-to-start-of-final-line-with-ctrl-u [ . . .123 . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1800,7 +1800,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k [ . . .1 . .456 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1856,7 +1856,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-2 [ . . .123 . .4 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1880,7 +1880,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-3 [ . . .12 . .456 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1904,7 +1904,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-4 [ . . .123 . .456 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1928,7 +1928,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-5 [ . . .123 . .45 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1952,7 +1952,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-6 [ . . .123 . .456 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -2272,7 +2272,7 @@ de] screen-should-contain [ . . .de0 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # try to move down again @@ -2301,7 +2301,7 @@ de] screen-should-contain [ . . .de01 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -2495,7 +2495,7 @@ m] .k . .l . .m . - .┈┈┈┈┈ . + .╌╌╌╌╌ . ] # move up one line assume-console [ @@ -2626,7 +2626,7 @@ e] . . .d . .e . - .┈┈┈┈┈┈ . + .╌╌╌╌╌╌ . ] assume-console [ press page-up @@ -2765,7 +2765,7 @@ d] . . .c . .d . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -2838,7 +2838,7 @@ b] . . .a . .b . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] # scroll down assume-console [ @@ -2852,7 +2852,7 @@ b] . . .a . .b . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -2885,7 +2885,7 @@ cdefgh] . . .cde↩ . .fgh . - .┈┈┈┈ . + .╌╌╌╌ . ] ] @@ -2949,7 +2949,7 @@ d] . . .c . .d . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] # scroll back up assume-console [ diff --git a/edit/004-programming-environment.mu b/edit/004-programming-environment.mu index 22b8e404..be3d7878 100644 --- a/edit/004-programming-environment.mu +++ b/edit/004-programming-environment.mu @@ -36,7 +36,7 @@ def new-programming-environment screen:&:screen, initial-recipe-contents:text, i print screen, [ run (F4) ], 255/white, 161/reddish # dotted line down the middle divider:num, _ <- divide-with-remainder width, 2 - draw-vertical screen, divider, 1/top, height, 9482/vertical-dotted + draw-vertical screen, divider, 1/top, height, 9550/vertical-dashed # recipe editor on the left recipes:&:editor <- new-editor initial-recipe-contents, screen, 0/left, divider/right # sandbox editor on the right @@ -340,9 +340,9 @@ scenario edit-multiple-editors [ ] screen-should-contain [ . run (F4) . # this line has a different background, but we don't test that yet - .a0bc ┊d1ef . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. - . ┊ . + .a0bc ╎d1ef . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. + . ╎ . ] memory-should-contain [ 5 <- 2 # cursor column of recipe editor @@ -355,9 +355,9 @@ scenario edit-multiple-editors [ ] screen-should-contain [ . run (F4) . - .a0bc ┊d1␣f . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. - . ┊ . + .a0bc ╎d1␣f . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. + . ╎ . ] ] @@ -372,10 +372,10 @@ scenario multiple-editors-cover-only-their-own-areas [ # divider isn't messed up screen-should-contain [ . run (F4) . - .abc ┊def . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . - . ┊ . + .abc ╎def . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────. + . ╎ . + . ╎ . ] ] @@ -395,9 +395,9 @@ scenario editor-in-focus-keeps-cursor [ # is cursor at the right place? screen-should-contain [ . run (F4) . - .␣bc ┊def . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. - . ┊ . + .␣bc ╎def . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. + . ╎ . ] # now try typing a letter assume-console [ @@ -411,9 +411,9 @@ scenario editor-in-focus-keeps-cursor [ # cursor should still be right screen-should-contain [ . run (F4) . - .z␣bc ┊def . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. - . ┊ . + .z␣bc ╎def . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. + . ╎ . ] ] @@ -428,10 +428,10 @@ def] render-all screen, env, render screen-should-contain [ . run (F4) . - . ┊abc . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊def . - . ┊━━━━━━━━━━━━━━. - . ┊ . + . ╎abc . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎def . + . ╎──────────────. + . ╎ . ] # position cursor at start of second line and hit backspace assume-console [ @@ -446,9 +446,9 @@ def] # cursor moves to end of old line screen-should-contain [ . run (F4) . - . ┊abc␣ef . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. - . ┊ . + . ╎abc␣ef . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. + . ╎ . ] ] @@ -470,7 +470,7 @@ def render-all screen:&:screen, env:&:environment, {render-editor: (recipe (addr trace 11, [app], [render divider] divider:num, _ <- divide-with-remainder width, 2 height:num <- screen-height screen - draw-vertical screen, divider, 1/top, height, 9482/vertical-dotted + draw-vertical screen, divider, 1/top, height, 9550/vertical-dashed # screen <- render-recipes screen, env, render-editor screen <- render-sandbox-side screen, env, render-editor @@ -497,7 +497,7 @@ def render-recipes screen:&:screen, env:&:environment, {render-editor: (recipe ( row <- add row, 1 <render-recipe-components-end> # draw dotted line after recipes - draw-horizontal screen, row, left, right, 9480/horizontal-dotted + draw-horizontal screen, row, left, right, 9548/horizontal-dashed row <- add row, 1 clear-screen-from screen, row, left, left, right ] @@ -513,7 +513,7 @@ def render-sandbox-side screen:&:screen, env:&:environment, {render-editor: (rec clear-line-until screen, right row <- add row, 1 # draw solid line after code (you'll see why in later layers) - draw-horizontal screen, row, left, right, 9473/horizontal + draw-horizontal screen, row, left, right row <- add row, 1 clear-screen-from screen, row, left, left, right ] diff --git a/edit/005-sandbox.mu b/edit/005-sandbox.mu index 9c7f0ee7..68bce87e 100644 --- a/edit/005-sandbox.mu +++ b/edit/005-sandbox.mu @@ -58,14 +58,14 @@ scenario run-and-show-results [ # check that screen prints the results screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊divide-with-remainder 11, 3 . - . ┊3 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎divide-with-remainder 11, 3 . + . ╎3 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] screen-should-contain-in-color 7/white, [ . . @@ -80,14 +80,14 @@ scenario run-and-show-results [ ] screen-should-contain-in-color 245/grey, [ . . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . - . ┊ . - . ┊3 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . + . ╎ . + . ╎3 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # sandbox menu in reverse video screen-should-contain-in-color 232/black, [ @@ -108,18 +108,18 @@ scenario run-and-show-results [ # check that screen prints both sandboxes screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊divide-with-remainder 11, 3 . - . ┊3 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎divide-with-remainder 11, 3 . + . ╎3 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -251,7 +251,7 @@ def! render-sandbox-side screen:&:screen, env:&:environment, {render-editor: (re row <- add row, 1 } # render sandboxes - draw-horizontal screen, row, left, right, 9473/horizontal-double + draw-horizontal screen, row, left, right sandbox:&:sandbox <- get *env, sandbox:offset row, screen <- render-sandboxes screen, sandbox, left, right, row, render-from clear-rest-of-screen screen, row, left, right @@ -297,7 +297,7 @@ def render-sandboxes screen:&:screen, sandbox:&:sandbox, left:num, right:num, ro at-bottom?:bool <- greater-or-equal row, screen-height return-if at-bottom? # draw solid line after sandbox - draw-horizontal screen, row, left, right, 9473/horizontal-double + draw-horizontal screen, row, left, right } # if hidden, reset row attributes { @@ -534,14 +534,14 @@ reply z event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .local-scope ┊0 edit copy delete . - .z:num <- add 2, 2 ┊foo . - .reply z ┊4 . - .] ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + .local-scope ╎0 edit copy delete . + .z:num <- add 2, 2 ╎foo . + .reply z ╎4 . + .] ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] # make a change (incrementing one of the args to 'add'), then rerun assume-console [ @@ -556,14 +556,14 @@ reply z # check that screen updates the result on the right screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .local-scope ┊0 edit copy delete . - .z:num <- add 2, 3 ┊foo . - .reply z ┊5 . - .] ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + .local-scope ╎0 edit copy delete . + .z:num <- add 2, 3 ╎foo . + .reply z ╎5 . + .] ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -584,18 +584,18 @@ scenario run-instruction-manages-screen-per-sandbox [ # check that it prints a little toy screen screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊print-integer screen, 4 . - . ┊screen: . - . ┊ .4 . . - . ┊ . . . - . ┊ . . . - . ┊ . . . - . ┊ . . . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎print-integer screen, 4 . + . ╎screen: . + . ╎ .4 . . + . ╎ . . . + . ╎ . . . + . ╎ . . . + . ╎ . . . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -652,10 +652,10 @@ scenario scrolling-down-past-bottom-of-recipe-editor [ # no scroll screen-should-contain [ . run (F4) . - . ┊ . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -676,10 +676,10 @@ scenario cursor-down-in-recipe-editor [ # cursor moves back to bottom screen-should-contain [ . run (F4) . - . ┊ . - .␣ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎ . + .␣ ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -755,10 +755,10 @@ scenario scrolling-down-past-bottom-of-recipe-editor-2 [ # no scroll, and cursor remains at top line screen-should-contain [ . run (F4) . - . ┊ . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -783,10 +783,10 @@ cd] # no scroll on recipe side, cursor moves on sandbox side screen-should-contain [ . run (F4) . - . ┊ab . - . ┊␣d . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ab . + . ╎␣d . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -806,10 +806,10 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 2, 2 . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 2, 2 . ] # switch to sandbox window and hit 'page-down' assume-console [ @@ -825,10 +825,10 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊␣ edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎␣ edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] # hit 'page-up' assume-console [ @@ -842,10 +842,10 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ # sandbox editor displays again, cursor is in editor screen-should-contain [ . run (F4) . - . ┊␣ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 2, 2 . + . ╎␣ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 2, 2 . ] ] @@ -950,10 +950,10 @@ scenario scrolling-down-on-recipe-side [ # cursor moves down on recipe side screen-should-contain [ . run (F4) . - .␣ ┊ . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 2, 2 . + .␣ ╎ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 2, 2 . ] ] @@ -977,15 +977,15 @@ scenario scrolling-through-multiple-sandboxes [ print screen, cursor screen-should-contain [ . run (F4) . - . ┊␣ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎␣ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] # hit 'page-down' assume-console [ @@ -1000,14 +1000,14 @@ scenario scrolling-through-multiple-sandboxes [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊␣ edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎␣ edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] # hit 'page-down' again assume-console [ @@ -1019,12 +1019,12 @@ scenario scrolling-through-multiple-sandboxes [ # just second sandbox displayed screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # hit 'page-down' again assume-console [ @@ -1036,12 +1036,12 @@ scenario scrolling-through-multiple-sandboxes [ # no change screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # hit 'page-up' assume-console [ @@ -1053,14 +1053,14 @@ scenario scrolling-through-multiple-sandboxes [ # back to displaying both sandboxes without editor screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] # hit 'page-up' again assume-console [ @@ -1074,15 +1074,15 @@ scenario scrolling-through-multiple-sandboxes [ # back to displaying both sandboxes as well as editor screen-should-contain [ . run (F4) . - . ┊␣ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎␣ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] # hit 'page-up' again assume-console [ @@ -1096,15 +1096,15 @@ scenario scrolling-through-multiple-sandboxes [ # no change screen-should-contain [ . run (F4) . - . ┊␣ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎␣ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] ] @@ -1124,13 +1124,13 @@ scenario scrolling-manages-sandbox-index-correctly [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # hit 'page-down' and 'page-up' a couple of times. sandbox index should be stable assume-console [ @@ -1143,12 +1143,12 @@ scenario scrolling-manages-sandbox-index-correctly [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # hit 'page-up' again assume-console [ @@ -1160,13 +1160,13 @@ scenario scrolling-manages-sandbox-index-correctly [ # back to displaying both sandboxes as well as editor screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # hit 'page-down' assume-console [ @@ -1179,11 +1179,11 @@ scenario scrolling-manages-sandbox-index-correctly [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] diff --git a/edit/006-sandbox-copy.mu b/edit/006-sandbox-copy.mu index 35360995..3e7f21e1 100644 --- a/edit/006-sandbox-copy.mu +++ b/edit/006-sandbox-copy.mu @@ -18,13 +18,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # click at left edge of 'copy' button assume-console [ @@ -36,13 +36,13 @@ recipe foo [ # it copies into editor screen-should-contain [ . run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # cursor should be in the right place assume-console [ @@ -53,13 +53,13 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ┊0foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎0foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -80,13 +80,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # click at right edge of 'copy' button (just before 'delete') assume-console [ @@ -98,13 +98,13 @@ recipe foo [ # it copies into editor screen-should-contain [ . run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # cursor should be in the right place assume-console [ @@ -115,13 +115,13 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ┊0foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎0foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -237,13 +237,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # type something into the sandbox editor, then click on the 'copy' button assume-console [ @@ -257,13 +257,13 @@ recipe foo [ # copy doesn't happen screen-should-contain [ . run (F4) . - . ┊0 . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎0 . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # cursor should be in the right place assume-console [ @@ -274,12 +274,12 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ┊01 . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎01 . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] diff --git a/edit/007-sandbox-delete.mu b/edit/007-sandbox-delete.mu index 90d24be4..365a4d12 100644 --- a/edit/007-sandbox-delete.mu +++ b/edit/007-sandbox-delete.mu @@ -16,18 +16,18 @@ scenario deleting-sandboxes [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊divide-with-remainder 11, 3 . - . ┊3 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎divide-with-remainder 11, 3 . + . ╎3 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # delete second sandbox by clicking on left edge of 'delete' button assume-console [ @@ -38,14 +38,14 @@ scenario deleting-sandboxes [ ] screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . + . ╎ . ] # delete first sandbox by clicking at right edge of 'delete' button assume-console [ @@ -56,10 +56,10 @@ scenario deleting-sandboxes [ ] screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . + . ╎ . ] ] @@ -165,12 +165,12 @@ scenario deleting-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . ] # delete the second sandbox assume-console [ @@ -182,12 +182,12 @@ scenario deleting-sandbox-after-scroll [ # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -210,12 +210,12 @@ scenario deleting-top-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . ] # delete the second sandbox assume-console [ @@ -227,12 +227,12 @@ scenario deleting-top-sandbox-after-scroll [ # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -256,12 +256,12 @@ scenario deleting-final-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # delete the second sandbox assume-console [ @@ -273,13 +273,13 @@ scenario deleting-final-sandbox-after-scroll [ # implicitly scroll up to first sandbox screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -301,15 +301,15 @@ scenario deleting-updates-sandbox-count [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] # delete the second sandbox, then try to scroll down twice assume-console [ @@ -323,11 +323,11 @@ scenario deleting-updates-sandbox-count [ # shouldn't go past last sandbox screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] diff --git a/edit/008-sandbox-edit.mu b/edit/008-sandbox-edit.mu index 8f48a2e7..5e826be0 100644 --- a/edit/008-sandbox-edit.mu +++ b/edit/008-sandbox-edit.mu @@ -17,13 +17,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # click at left edge of 'edit' button assume-console [ @@ -35,12 +35,12 @@ recipe foo [ # it pops back into editor screen-should-contain [ . run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊ . - .] ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎ . + .] ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] # cursor should be in the right place assume-console [ @@ -51,12 +51,12 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ┊0foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊ . - .] ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎0foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎ . + .] ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -77,13 +77,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # click at right edge of 'edit' button (just before 'copy') assume-console [ @@ -95,12 +95,12 @@ recipe foo [ # it pops back into editor screen-should-contain [ . run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊ . - .] ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎ . + .] ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] # cursor should be in the right place assume-console [ @@ -111,12 +111,12 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ┊0foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊ . - .] ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎0foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎ . + .] ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -187,18 +187,18 @@ scenario sandbox-with-print-can-be-edited [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊print-integer screen, 4 . - . ┊screen: . - . ┊ .4 . . - . ┊ . . . - . ┊ . . . - . ┊ . . . - . ┊ . . . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎print-integer screen, 4 . + . ╎screen: . + . ╎ .4 . . + . ╎ . . . + . ╎ . . . + . ╎ . . . + . ╎ . . . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # edit the sandbox assume-console [ @@ -209,10 +209,10 @@ scenario sandbox-with-print-can-be-edited [ ] screen-should-contain [ . run (F4) . - . ┊print-integer screen, 4 . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . - . ┊ . + . ╎print-integer screen, 4 . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . + . ╎ . ] ] @@ -236,12 +236,12 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # edit the second sandbox assume-console [ @@ -253,13 +253,13 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ . run (F4) . - . ┊add 2, 2 . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎add 2, 2 . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -281,15 +281,15 @@ scenario editing-sandbox-updates-sandbox-count [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] # edit the second sandbox, then resave assume-console [ @@ -302,15 +302,15 @@ scenario editing-sandbox-updates-sandbox-count [ # no change in contents screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 1, 1 . - . ┊2 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 1, 1 . + . ╎2 . + . ╎─────────────────────────────────────────────────. + . ╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . ] # now try to scroll past end assume-console [ @@ -324,11 +324,11 @@ scenario editing-sandbox-updates-sandbox-count [ # screen should show just final sandbox with the right index (1) screen-should-contain [ . run (F4) . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎─────────────────────────────────────────────────. + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] diff --git a/edit/009-sandbox-test.mu b/edit/009-sandbox-test.mu index 460b90aa..385fced4 100644 --- a/edit/009-sandbox-test.mu +++ b/edit/009-sandbox-test.mu @@ -17,13 +17,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] # click on the '4' in the result assume-console [ @@ -50,15 +50,15 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - .␣ ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . reply 4 ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . - . ┊ . - . ┊ . + .␣ ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . reply 4 ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . + . ╎ . + . ╎ . ] # now change the result # then rerun diff --git a/edit/010-sandbox-trace.mu b/edit/010-sandbox-trace.mu index 3837a0b1..0175935d 100644 --- a/edit/010-sandbox-trace.mu +++ b/edit/010-sandbox-trace.mu @@ -17,12 +17,12 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . stash [abc] ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . stash [abc] ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . ] # click on the code in the sandbox assume-console [ @@ -36,19 +36,19 @@ recipe foo [ # trace now printed and cursor shouldn't have budged screen-should-contain [ . run (F4) . - .␣ ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . stash [abc] ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊abc . + .␣ ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . stash [abc] ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎abc . ] screen-should-contain-in-color 245/grey, [ . . - . ┊ . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊abc . + . ╎ . + . ╎─────────────────────────────────────────────────. + . ╎ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎abc . ] # click again on the same region assume-console [ @@ -61,12 +61,12 @@ recipe foo [ # trace hidden again screen-should-contain [ . run (F4) . - .␣ ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . stash [abc] ┊0 edit copy delete . - .] ┊foo . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + .␣ ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . stash [abc] ╎0 edit copy delete . + .] ╎foo . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -88,13 +88,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . stash [abc] ┊0 edit copy delete . - . reply 4 ┊foo . - .] ┊4 . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . stash [abc] ╎0 edit copy delete . + . reply 4 ╎foo . + .] ╎4 . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . ] # click on the code in the sandbox assume-console [ @@ -106,15 +106,15 @@ recipe foo [ # trace now printed above result screen-should-contain [ . run (F4) . - . ┊ . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . stash [abc] ┊0 edit copy delete . - . reply 4 ┊foo . - .] ┊abc . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊8 instructions run . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .recipe foo [ ╎─────────────────────────────────────────────────. + . stash [abc] ╎0 edit copy delete . + . reply 4 ╎foo . + .] ╎abc . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎8 instructions run . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -131,11 +131,11 @@ scenario clicking-on-app-trace-does-nothing [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊stash 123456789 . - . ┊123456789 . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎stash 123456789 . + . ╎123456789 . ] # click on the stash under the edit-button region (or any of the other buttons, really) assume-console [ @@ -147,11 +147,11 @@ scenario clicking-on-app-trace-does-nothing [ # no change; doesn't die screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊stash 123456789 . - . ┊123456789 . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎stash 123456789 . + . ╎123456789 . ] ] diff --git a/edit/011-errors.mu b/edit/011-errors.mu index b1751bd8..46484176 100644 --- a/edit/011-errors.mu +++ b/edit/011-errors.mu @@ -131,15 +131,15 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . get 123:num, foo:offset ┊ . - .] ┊ . - .foo: unknown element 'foo' in container 'number' ┊ . - .foo: first ingredient of 'get' should be a contai↩┊ . - .ner, but got '123:num' ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . get 123:num, foo:offset ╎ . + .] ╎ . + .foo: unknown element 'foo' in container 'number' ╎ . + .foo: first ingredient of 'get' should be a contai↩╎ . + .ner, but got '123:num' ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] screen-should-contain-in-color 1/red, [ . errors found . @@ -226,13 +226,13 @@ scenario run-hides-errors-from-past-sandboxes [ # error should disappear screen-should-contain [ . run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊add 2, 2 . - . ┊4 . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎add 2, 2 . + . ╎4 . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -254,14 +254,14 @@ z <- add x, y event-loop screen, console, env screen-should-contain [ . errors found (0) run (F4) . - .recipe foo x:_elem -> z:_elem [ ┊ . - .local-scope ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .load-ingredients ┊0 edit copy delete . - .y:&:num <- copy 0 ┊foo 2 . - .z <- add x, y ┊foo_2: 'add' requires number ingredients, but go↩. - .] ┊t 'y' . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + .recipe foo x:_elem -> z:_elem [ ╎ . + .local-scope ╎─────────────────────────────────────────────────. + .load-ingredients ╎0 edit copy delete . + .y:&:num <- copy 0 ╎foo 2 . + .z <- add x, y ╎foo_2: 'add' requires number ingredients, but go↩. + .] ╎t 'y' . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . ] # now rerun everything assume-console [ @@ -273,14 +273,14 @@ z <- add x, y # error should remain unchanged screen-should-contain [ . errors found (0) run (F4) . - .recipe foo x:_elem -> z:_elem [ ┊ . - .local-scope ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .load-ingredients ┊0 edit copy delete . - .y:&:num <- copy 0 ┊foo 2 . - .z <- add x, y ┊foo_3: 'add' requires number ingredients, but go↩. - .] ┊t 'y' . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + .recipe foo x:_elem -> z:_elem [ ╎ . + .local-scope ╎─────────────────────────────────────────────────. + .load-ingredients ╎0 edit copy delete . + .y:&:num <- copy 0 ╎foo 2 . + .z <- add x, y ╎foo_3: 'add' requires number ingredients, but go↩. + .] ╎t 'y' . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -362,11 +362,11 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . x <- copy 0 ┊ . - .] ┊ . - .foo: missing type for 'x' in 'x <- copy 0' ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . x <- copy 0 ╎ . + .] ╎ . + .foo: missing type for 'x' in 'x <- copy 0' ╎ . ] ] @@ -388,13 +388,13 @@ recipe foo \\[ ] screen-should-contain [ . errors found run (F4) . - . ┊foo . - .recipe foo \\[ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . x <- copy 0 ┊ . - . ┊ . - .9: unbalanced '\\[' for recipe ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎foo . + .recipe foo \\[ ╎─────────────────────────────────────────────────. + . x <- copy 0 ╎ . + . ╎ . + .9: unbalanced '\\[' for recipe ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -417,16 +417,16 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . local-scope ┊ . - . x:&:point <- new point:type ┊ . - . get x:&:point, 1:offset ┊ . - .] ┊ . - .foo: first ingredient of 'get' should be a contai↩┊ . - .ner, but got 'x:&:point' ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . local-scope ╎ . + . x:&:point <- new point:type ╎ . + . get x:&:point, 1:offset ╎ . + .] ╎ . + .foo: first ingredient of 'get' should be a contai↩╎ . + .ner, but got 'x:&:point' ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -450,17 +450,17 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . local-scope ┊ . - . x:num <- copy 0 ┊ . - . y:&:point <- new point:type ┊ . - . get *y:&:point, x:num ┊ . - .] ┊ . - .foo: second ingredient of 'get' should have type ↩┊ . - .'offset', but got 'x:num' ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . local-scope ╎ . + . x:num <- copy 0 ╎ . + . y:&:point <- new point:type ╎ . + . get *y:&:point, x:num ╎ . + .] ╎ . + .foo: second ingredient of 'get' should have type ↩╎ . + .'offset', but got 'x:num' ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -481,14 +481,14 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . errors found run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . local-scope ┊ . - . x:num <- copy y:num ┊ . - .] ┊ . - .foo: use before set: 'y' ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . local-scope ╎ . + . x:num <- copy y:num ╎ . + .] ╎ . + .foo: use before set: 'y' ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] # rerun the file, check for the same error assume-console [ @@ -499,14 +499,14 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ┊foo . - .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . local-scope ┊ . - . x:num <- copy y:num ┊ . - .] ┊ . - .foo: use before set: 'y' ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . - . ┊ . + . ╎foo . + .recipe foo [ ╎─────────────────────────────────────────────────. + . local-scope ╎ . + . x:num <- copy y:num ╎ . + .] ╎ . + .foo: use before set: 'y' ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . + . ╎ . ] ] @@ -527,15 +527,15 @@ scenario run-instruction-and-print-errors [ # check that screen prints error message in red screen-should-contain [ . errors found (0) run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊get 1234:num, foo:offset . - . ┊unknown element 'foo' in container 'number' . - . ┊first ingredient of 'get' should be a container,↩. - . ┊ but got '1234:num' . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎get 1234:num, foo:offset . + . ╎unknown element 'foo' in container 'number' . + . ╎first ingredient of 'get' should be a container,↩. + . ╎ but got '1234:num' . + . ╎─────────────────────────────────────────────────. + . ╎ . ] screen-should-contain-in-color 7/white, [ . . @@ -560,15 +560,15 @@ scenario run-instruction-and-print-errors [ ] screen-should-contain-in-color 245/grey, [ . . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . - . ┊ . - . ┊ . - . ┊ ↩. - . ┊ . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . + . ╎ . + . ╎ . + . ╎ ↩. + . ╎ . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -590,15 +590,15 @@ scenario run-instruction-and-print-errors-only-once [ # check that screen prints error message just once screen-should-contain [ . errors found (0) run (F4) . - . ┊ . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊0 edit copy delete . - . ┊get 1234:num, foo:offset . - . ┊unknown element 'foo' in container 'number' . - . ┊first ingredient of 'get' should be a container,↩. - . ┊ but got '1234:num' . - . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + . ╎ . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎0 edit copy delete . + . ╎get 1234:num, foo:offset . + . ╎unknown element 'foo' in container 'number' . + . ╎first ingredient of 'get' should be a container,↩. + . ╎ but got '1234:num' . + . ╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -623,13 +623,13 @@ scenario sandbox-can-handle-infinite-loop [ ] screen-should-contain [ . errors found (0) run (F4) . - .recipe foo [ ┊ . - . { ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . loop ┊0 edit copy delete . - . } ┊foo . - .] ┊took too long! . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - . ┊ . + .recipe foo [ ╎ . + . { ╎─────────────────────────────────────────────────. + . loop ╎0 edit copy delete . + . } ╎foo . + .] ╎took too long! . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + . ╎ . ] ] @@ -655,14 +655,14 @@ reply b # screen prints error message screen-should-contain [ . errors found (0) run (F4) . - .recipe foo [ ┊ . - .local-scope ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .a:num <- next-ingredient ┊0 edit copy delete . - .b:num <- next-ingredient ┊foo 4, 0 . - .stash [dividing by], b ┊foo: divide by zero in '_, c:num <- divide-with-↩. - ._, c:num <- divide-with-remainder a, b ┊remainder a, b' . - .reply b ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .] ┊ . + .recipe foo [ ╎ . + .local-scope ╎─────────────────────────────────────────────────. + .a:num <- next-ingredient ╎0 edit copy delete . + .b:num <- next-ingredient ╎foo 4, 0 . + .stash [dividing by], b ╎foo: divide by zero in '_, c:num <- divide-with-↩. + ._, c:num <- divide-with-remainder a, b ╎remainder a, b' . + .reply b ╎─────────────────────────────────────────────────. + .] ╎ . ] # click on the call in the sandbox assume-console [ @@ -674,14 +674,14 @@ reply b # screen should expand trace screen-should-contain [ . errors found (0) run (F4) . - .recipe foo [ ┊ . - .local-scope ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. - .a:num <- next-ingredient ┊0 edit copy delete . - .b:num <- next-ingredient ┊foo 4, 0 . - .stash [dividing by], b ┊dividing by 0 . - ._, c:num <- divide-with-remainder a, b ┊14 instructions run . - .reply b ┊foo: divide by zero in '_, c:num <- divide-with-↩. - .] ┊remainder a, b' . - .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .recipe foo [ ╎ . + .local-scope ╎─────────────────────────────────────────────────. + .a:num <- next-ingredient ╎0 edit copy delete . + .b:num <- next-ingredient ╎foo 4, 0 . + .stash [dividing by], b ╎dividing by 0 . + ._, c:num <- divide-with-remainder a, b ╎14 instructions run . + .reply b ╎foo: divide by zero in '_, c:num <- divide-with-↩. + .] ╎remainder a, b' . + .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. ] ] diff --git a/edit/012-editor-undo.mu b/edit/012-editor-undo.mu index 9ea67e03..23fd53bc 100644 --- a/edit/012-editor-undo.mu +++ b/edit/012-editor-undo.mu @@ -119,7 +119,7 @@ scenario editor-can-undo-typing [ screen-should-contain [ . . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # cursor should be in the right place @@ -132,7 +132,7 @@ scenario editor-can-undo-typing [ screen-should-contain [ . . .1 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -249,7 +249,7 @@ scenario editor-can-undo-typing-multiple [ screen-should-contain [ . . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -268,7 +268,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .012a . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # undo @@ -282,7 +282,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .a . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # cursor should be in the right place @@ -295,7 +295,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .3a . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -316,7 +316,7 @@ scenario editor-can-undo-typing-enter [ . . . abc . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # line is indented @@ -343,7 +343,7 @@ scenario editor-can-undo-typing-enter [ screen-should-contain [ . . . abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # cursor should be at end of line @@ -356,7 +356,7 @@ scenario editor-can-undo-typing-enter [ screen-should-contain [ . . . abc1 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -377,7 +377,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .a . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo @@ -391,7 +391,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .012a . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # cursor should be in the right place @@ -404,7 +404,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .0123a . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -441,7 +441,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo @@ -455,7 +455,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . .012 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # cursor should be in the right place @@ -468,7 +468,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . .0123 . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -497,7 +497,7 @@ ghi] .0abc . .def . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] # redo assume-console [ @@ -512,7 +512,7 @@ ghi] .0abc . .def . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -537,7 +537,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . efg . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -564,7 +564,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # undo again @@ -584,7 +584,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . ab cd . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # undo again @@ -604,7 +604,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo @@ -624,7 +624,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . ab cd . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo again @@ -645,7 +645,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo again @@ -666,7 +666,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . efg . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -713,7 +713,7 @@ ghi] .1abc . .def . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -869,7 +869,7 @@ ghi] .abc . .def . .g1hi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -920,7 +920,7 @@ ghi] .abc . .def . .g1hi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -965,7 +965,7 @@ ghi] .abc . .d1ef . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1068,7 +1068,7 @@ f] .d . .e . .f . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1103,7 +1103,7 @@ f] .d . .e . .f . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1148,7 +1148,7 @@ ghi] .abc . .d1ef . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1193,7 +1193,7 @@ ghi] .abc . .d1ef . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1238,7 +1238,7 @@ ghi] .abc . .d1ef . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1283,7 +1283,7 @@ ghi] .abc . .d1ef . .ghi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1382,7 +1382,7 @@ ghi] .abc . .def . .g1hi . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. ] ] @@ -1417,7 +1417,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .adbc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -1437,7 +1437,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -1457,7 +1457,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -1477,7 +1477,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . . . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -1497,7 +1497,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -1517,7 +1517,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # cursor moves @@ -1538,7 +1538,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .adbc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] memory-should-contain [ @@ -1565,7 +1565,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .a . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1590,7 +1590,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo @@ -1609,7 +1609,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .a . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1713,7 +1713,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .af . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1738,7 +1738,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .adef . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # undo backspace @@ -1757,7 +1757,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abdef . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # undo first delete @@ -1776,7 +1776,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abcdef . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo first delete @@ -1796,7 +1796,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abdef . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo backspace @@ -1816,7 +1816,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .adef . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] # redo deletes @@ -1836,7 +1836,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .af . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -1901,7 +1901,7 @@ def] . . .a . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1921,7 +1921,7 @@ def] . . .abc . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1942,7 +1942,7 @@ def] . . .a . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1962,7 +1962,7 @@ def] . . .a1 . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -2004,7 +2004,7 @@ def] . . .c . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -2024,7 +2024,7 @@ def] . . .abc . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -2045,7 +2045,7 @@ def] . . .c . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -2065,7 +2065,7 @@ def] . . .1c . .def . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] @@ -2104,7 +2104,7 @@ scenario editor-can-undo-and-redo-ctrl-u-2 [ screen-should-contain [ . . .abc . - .┈┈┈┈┈┈┈┈┈┈. + .╌╌╌╌╌╌╌╌╌╌. . . ] ] |