diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2017-06-25 10:49:03 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2017-06-25 11:02:15 -0700 |
commit | dc5f112c3ea8aff1a389513fa6c33d88fab07420 (patch) | |
tree | 5e887029c973d8a5b292fd9993c5ad81cf8c4c61 /html/edit/009-sandbox-test.mu.html | |
parent | d2f0704962eb0e43f3db8b461dd6d48ee9297f73 (diff) | |
download | mu-dc5f112c3ea8aff1a389513fa6c33d88fab07420.tar.gz |
3958
Improvement on fix 3957: rather than put a band-aid over a slow operation, eliminate the slowdown entirely. In this case it turns out we're unnecessarily saving files to disk when they could never be modified. Are we doing this on F4 as well?!
Diffstat (limited to 'html/edit/009-sandbox-test.mu.html')
-rw-r--r-- | html/edit/009-sandbox-test.mu.html | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/html/edit/009-sandbox-test.mu.html b/html/edit/009-sandbox-test.mu.html index d147fa92..f75f45f7 100644 --- a/html/edit/009-sandbox-test.mu.html +++ b/html/edit/009-sandbox-test.mu.html @@ -156,16 +156,16 @@ if ('onhashchange' in window) { <span id="L93" class="LineNr"> 93 </span>] <span id="L94" class="LineNr"> 94 </span> <span id="L95" class="LineNr"> 95 </span><span class="Comment"># include expected response when saving or restoring a sandbox</span> -<span id="L96" class="LineNr"> 96 </span><span class="muRecipe">before</span> <span class="Constant"><a href='005-sandbox.mu.html#L239'><end-save-sandbox></a></span> [ +<span id="L96" class="LineNr"> 96 </span><span class="muRecipe">before</span> <span class="Constant"><a href='005-sandbox.mu.html#L249'><end-save-sandbox></a></span> [ <span id="L97" class="LineNr"> 97 </span> <span class="Delimiter">{</span> -<span id="L98" class="LineNr"> 98 </span> <span class="Conceal">¦</span> expected-response:text <span class="Special"><-</span> get *curr, <span class="Constant">expected-response:offset</span> +<span id="L98" class="LineNr"> 98 </span> <span class="Conceal">¦</span> expected-response:text <span class="Special"><-</span> get *sandbox, <span class="Constant">expected-response:offset</span> <span id="L99" class="LineNr"> 99 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> expected-response <span id="L100" class="LineNr">100 </span> <span class="Conceal">¦</span> filename <span class="Special"><-</span> append filename, <span class="Constant">[.out]</span> <span id="L101" class="LineNr">101 </span> <span class="Conceal">¦</span> <a href='../088file.mu.html#L11'>resources</a> <span class="Special"><-</span> <a href='../088file.mu.html#L127'>dump</a> <a href='../088file.mu.html#L11'>resources</a>, filename, expected-response <span id="L102" class="LineNr">102 </span> <span class="Delimiter">}</span> <span id="L103" class="LineNr">103 </span>] <span id="L104" class="LineNr">104 </span> -<span id="L105" class="LineNr">105 </span><span class="muRecipe">before</span> <span class="Constant"><a href='005-sandbox.mu.html#L485'><end-restore-sandbox></a></span> [ +<span id="L105" class="LineNr">105 </span><span class="muRecipe">before</span> <span class="Constant"><a href='005-sandbox.mu.html#L491'><end-restore-sandbox></a></span> [ <span id="L106" class="LineNr">106 </span> <span class="Delimiter">{</span> <span id="L107" class="LineNr">107 </span> <span class="Conceal">¦</span> filename <span class="Special"><-</span> append filename, <span class="Constant">[.out]</span> <span id="L108" class="LineNr">108 </span> <span class="Conceal">¦</span> contents <span class="Special"><-</span> <a href='../088file.mu.html#L38'>slurp</a> <a href='../088file.mu.html#L11'>resources</a>, filename @@ -189,43 +189,43 @@ if ('onhashchange' in window) { <span id="L126" class="LineNr">126 </span> <span class="Conceal">¦</span> below-sandbox-editor?:bool <span class="Special"><-</span> greater-or-equal click-row, first-sandbox-begins <span id="L127" class="LineNr">127 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> below-sandbox-editor? <span id="L128" class="LineNr">128 </span> <span class="Conceal">¦</span> <span class="Comment"># identify the sandbox whose output is being clicked on</span> -<span id="L129" class="LineNr">129 </span> <span class="Conceal">¦</span> sandbox:&:sandbox <span class="Special"><-</span> <a href='009-sandbox-test.mu.html#L142'>find-click-in-sandbox-output</a> env, click-row +<span id="L129" class="LineNr">129 </span> <span class="Conceal">¦</span> sandbox:&:sandbox, sandbox-index:num <span class="Special"><-</span> <a href='009-sandbox-test.mu.html#L140'>find-click-in-sandbox-output</a> env, click-row <span id="L130" class="LineNr">130 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> sandbox -<span id="L131" class="LineNr">131 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> <a href='005-sandbox.mu.html#L219'>update-status</a> <a href='../081print.mu.html#L16'>screen</a>, <span class="Constant">[updating... ]</span>, <span class="Constant">245/grey</span> -<span id="L132" class="LineNr">132 </span> <span class="Conceal">¦</span> <span class="Comment"># toggle its expected-response, and save session</span> -<span id="L133" class="LineNr">133 </span> <span class="Conceal">¦</span> sandbox <span class="Special"><-</span> <a href='009-sandbox-test.mu.html#L168'>toggle-expected-response</a> sandbox -<span id="L134" class="LineNr">134 </span> <span class="Conceal">¦</span> <a href='005-sandbox.mu.html#L226'>save-sandboxes</a> env, <a href='../088file.mu.html#L11'>resources</a> -<span id="L135" class="LineNr">135 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> render-sandbox-side <a href='../081print.mu.html#L16'>screen</a>, env, <a href='001-editor.mu.html#L107'>render</a> -<span id="L136" class="LineNr">136 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> <a href='005-sandbox.mu.html#L219'>update-status</a> <a href='../081print.mu.html#L16'>screen</a>, <span class="Constant">[ ]</span>, <span class="Constant">245/grey</span> -<span id="L137" class="LineNr">137 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> <a href='004-programming-environment.mu.html#L472'>update-cursor</a> <a href='../081print.mu.html#L16'>screen</a>, recipes, current-sandbox, sandbox-in-focus?, env -<span id="L138" class="LineNr">138 </span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-event</span> -<span id="L139" class="LineNr">139 </span> <span class="Delimiter">}</span> -<span id="L140" class="LineNr">140 </span>] -<span id="L141" class="LineNr">141 </span> -<span id="L142" class="LineNr">142 </span><span class="muRecipe">def</span> <a href='009-sandbox-test.mu.html#L142'>find-click-in-sandbox-output</a> env:&:environment, click-row:num<span class="muRecipe"> -> </span>sandbox:&:sandbox [ -<span id="L143" class="LineNr">143 </span> <span class="Constant">local-scope</span> -<span id="L144" class="LineNr">144 </span> <span class="Constant">load-ingredients</span> -<span id="L145" class="LineNr">145 </span> <span class="Comment"># assert click-row >= sandbox.starting-row-on-screen</span> -<span id="L146" class="LineNr">146 </span> sandbox:&:sandbox <span class="Special"><-</span> get *env, <span class="Constant">sandbox:offset</span> -<span id="L147" class="LineNr">147 </span> start:num <span class="Special"><-</span> get *sandbox, <span class="Constant">starting-row-on-screen:offset</span> -<span id="L148" class="LineNr">148 </span> clicked-on-sandboxes?:bool <span class="Special"><-</span> greater-or-equal click-row, start -<span id="L149" class="LineNr">149 </span> assert clicked-on-sandboxes?, <span class="Constant">[extract-sandbox called on click to sandbox editor]</span> -<span id="L150" class="LineNr">150 </span> <span class="Comment"># while click-row < sandbox.next-sandbox.starting-row-on-screen</span> -<span id="L151" class="LineNr">151 </span> <span class="Delimiter">{</span> -<span id="L152" class="LineNr">152 </span> <span class="Conceal">¦</span> next-sandbox:&:sandbox <span class="Special"><-</span> get *sandbox, <span class="Constant">next-sandbox:offset</span> -<span id="L153" class="LineNr">153 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> next-sandbox -<span id="L154" class="LineNr">154 </span> <span class="Conceal">¦</span> next-start:num <span class="Special"><-</span> get *next-sandbox, <span class="Constant">starting-row-on-screen:offset</span> -<span id="L155" class="LineNr">155 </span> <span class="Conceal">¦</span> found?:bool <span class="Special"><-</span> lesser-than click-row, next-start -<span id="L156" class="LineNr">156 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> found? -<span id="L157" class="LineNr">157 </span> <span class="Conceal">¦</span> sandbox <span class="Special"><-</span> copy next-sandbox +<span id="L131" class="LineNr">131 </span> <span class="Conceal">¦</span> <span class="Comment"># toggle its expected-response, and save session</span> +<span id="L132" class="LineNr">132 </span> <span class="Conceal">¦</span> sandbox <span class="Special"><-</span> <a href='009-sandbox-test.mu.html#L168'>toggle-expected-response</a> sandbox +<span id="L133" class="LineNr">133 </span> <span class="Conceal">¦</span> <a href='005-sandbox.mu.html#L243'>save-sandbox</a> <a href='../088file.mu.html#L11'>resources</a>, sandbox, sandbox-index +<span id="L134" class="LineNr">134 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> render-sandbox-side <a href='../081print.mu.html#L16'>screen</a>, env, <a href='001-editor.mu.html#L107'>render</a> +<span id="L135" class="LineNr">135 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> <a href='004-programming-environment.mu.html#L472'>update-cursor</a> <a href='../081print.mu.html#L16'>screen</a>, recipes, current-sandbox, sandbox-in-focus?, env +<span id="L136" class="LineNr">136 </span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-event</span> +<span id="L137" class="LineNr">137 </span> <span class="Delimiter">}</span> +<span id="L138" class="LineNr">138 </span>] +<span id="L139" class="LineNr">139 </span> +<span id="L140" class="LineNr">140 </span><span class="muRecipe">def</span> <a href='009-sandbox-test.mu.html#L140'>find-click-in-sandbox-output</a> env:&:environment, click-row:num<span class="muRecipe"> -> </span>sandbox:&:sandbox, sandbox-index:num [ +<span id="L141" class="LineNr">141 </span> <span class="Constant">local-scope</span> +<span id="L142" class="LineNr">142 </span> <span class="Constant">load-ingredients</span> +<span id="L143" class="LineNr">143 </span> <span class="Comment"># assert click-row >= sandbox.starting-row-on-screen</span> +<span id="L144" class="LineNr">144 </span> sandbox:&:sandbox <span class="Special"><-</span> get *env, <span class="Constant">sandbox:offset</span> +<span id="L145" class="LineNr">145 </span> start:num <span class="Special"><-</span> get *sandbox, <span class="Constant">starting-row-on-screen:offset</span> +<span id="L146" class="LineNr">146 </span> clicked-on-sandboxes?:bool <span class="Special"><-</span> greater-or-equal click-row, start +<span id="L147" class="LineNr">147 </span> assert clicked-on-sandboxes?, <span class="Constant">[extract-sandbox called on click to sandbox editor]</span> +<span id="L148" class="LineNr">148 </span> <span class="Comment"># while click-row < sandbox.next-sandbox.starting-row-on-screen</span> +<span id="L149" class="LineNr">149 </span> sandbox-index <span class="Special"><-</span> copy<span class="Constant"> 0</span> +<span id="L150" class="LineNr">150 </span> <span class="Delimiter">{</span> +<span id="L151" class="LineNr">151 </span> <span class="Conceal">¦</span> next-sandbox:&:sandbox <span class="Special"><-</span> get *sandbox, <span class="Constant">next-sandbox:offset</span> +<span id="L152" class="LineNr">152 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> next-sandbox +<span id="L153" class="LineNr">153 </span> <span class="Conceal">¦</span> next-start:num <span class="Special"><-</span> get *next-sandbox, <span class="Constant">starting-row-on-screen:offset</span> +<span id="L154" class="LineNr">154 </span> <span class="Conceal">¦</span> found?:bool <span class="Special"><-</span> lesser-than click-row, next-start +<span id="L155" class="LineNr">155 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> found? +<span id="L156" class="LineNr">156 </span> <span class="Conceal">¦</span> sandbox <span class="Special"><-</span> copy next-sandbox +<span id="L157" class="LineNr">157 </span> <span class="Conceal">¦</span> sandbox-index <span class="Special"><-</span> add sandbox-index,<span class="Constant"> 1</span> <span id="L158" class="LineNr">158 </span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span id="L159" class="LineNr">159 </span> <span class="Delimiter">}</span> <span id="L160" class="LineNr">160 </span> <span class="Comment"># return sandbox if click is in its output region</span> <span id="L161" class="LineNr">161 </span> response-starting-row:num <span class="Special"><-</span> get *sandbox, <span class="Constant">response-starting-row-on-screen:offset</span> -<span id="L162" class="LineNr">162 </span> <span class="muControl">return-unless</span> response-starting-row, <span class="Constant">0/no-click-in-sandbox-output</span> +<span id="L162" class="LineNr">162 </span> <span class="muControl">return-unless</span> response-starting-row, <span class="Constant">0/no-click-in-sandbox-output</span>, <span class="Constant">0/sandbox-index</span> <span id="L163" class="LineNr">163 </span> click-in-response?:bool <span class="Special"><-</span> greater-or-equal click-row, response-starting-row -<span id="L164" class="LineNr">164 </span> <span class="muControl">return-unless</span> click-in-response?, <span class="Constant">0/no-click-in-sandbox-output</span> -<span id="L165" class="LineNr">165 </span> <span class="muControl">return</span> sandbox +<span id="L164" class="LineNr">164 </span> <span class="muControl">return-unless</span> click-in-response?, <span class="Constant">0/no-click-in-sandbox-output</span>, <span class="Constant">0/sandbox-index</span> +<span id="L165" class="LineNr">165 </span> <span class="muControl">return</span> sandbox, sandbox-index <span id="L166" class="LineNr">166 </span>] <span id="L167" class="LineNr">167 </span> <span id="L168" class="LineNr">168 </span><span class="muRecipe">def</span> <a href='009-sandbox-test.mu.html#L168'>toggle-expected-response</a> sandbox:&:sandbox<span class="muRecipe"> -> </span>sandbox:&:sandbox [ @@ -246,7 +246,7 @@ if ('onhashchange' in window) { <span id="L183" class="LineNr">183 </span>] <span id="L184" class="LineNr">184 </span> <span id="L185" class="LineNr">185 </span><span class="Comment"># when rendering a sandbox, color it in red/green if expected response exists</span> -<span id="L186" class="LineNr">186 </span><span class="muRecipe">after</span> <span class="Constant"><a href='005-sandbox.mu.html#L306'><render-sandbox-response></a></span> [ +<span id="L186" class="LineNr">186 </span><span class="muRecipe">after</span> <span class="Constant"><a href='005-sandbox.mu.html#L312'><render-sandbox-response></a></span> [ <span id="L187" class="LineNr">187 </span> <span class="Delimiter">{</span> <span id="L188" class="LineNr">188 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> sandbox-response <span id="L189" class="LineNr">189 </span> <span class="Conceal">¦</span> *sandbox <span class="Special"><-</span> put *sandbox, <span class="Constant">response-starting-row-on-screen:offset</span>, row @@ -255,17 +255,17 @@ if ('onhashchange' in window) { <span id="L192" class="LineNr">192 </span> <span class="Conceal">¦</span> response-is-expected?:bool <span class="Special"><-</span> equal expected-response, sandbox-response <span id="L193" class="LineNr">193 </span> <span class="Conceal">¦</span> <span class="Delimiter">{</span> <span id="L194" class="LineNr">194 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> response-is-expected? -<span id="L195" class="LineNr">195 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row, <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> <a href='005-sandbox.mu.html#L393'>render-text</a> <a href='../081print.mu.html#L16'>screen</a>, sandbox-response, left, right, <span class="Constant">1/red</span>, row +<span id="L195" class="LineNr">195 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row, <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> <a href='005-sandbox.mu.html#L399'>render-text</a> <a href='../081print.mu.html#L16'>screen</a>, sandbox-response, left, right, <span class="Constant">1/red</span>, row <span id="L196" class="LineNr">196 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> <span id="L197" class="LineNr">197 </span> <span class="Conceal">¦</span> <span class="Delimiter">{</span> <span id="L198" class="LineNr">198 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> response-is-expected?:bool -<span id="L199" class="LineNr">199 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row, <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> <a href='005-sandbox.mu.html#L393'>render-text</a> <a href='../081print.mu.html#L16'>screen</a>, sandbox-response, left, right, <span class="Constant">2/green</span>, row +<span id="L199" class="LineNr">199 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row, <a href='../081print.mu.html#L16'>screen</a> <span class="Special"><-</span> <a href='005-sandbox.mu.html#L399'>render-text</a> <a href='../081print.mu.html#L16'>screen</a>, sandbox-response, left, right, <span class="Constant">2/green</span>, row <span id="L200" class="LineNr">200 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> <span id="L201" class="LineNr">201 </span> <span class="Conceal">¦</span> <span class="muControl">jump</span> <span class="Constant">+render-sandbox-end</span> <span id="L202" class="LineNr">202 </span> <span class="Delimiter">}</span> <span id="L203" class="LineNr">203 </span>] <span id="L204" class="LineNr">204 </span> -<span id="L205" class="LineNr">205 </span><span class="muRecipe">before</span> <span class="Constant"><a href='005-sandbox.mu.html#L320'><end-render-sandbox-reset-hidden></a></span> [ +<span id="L205" class="LineNr">205 </span><span class="muRecipe">before</span> <span class="Constant"><a href='005-sandbox.mu.html#L326'><end-render-sandbox-reset-hidden></a></span> [ <span id="L206" class="LineNr">206 </span> *sandbox <span class="Special"><-</span> put *sandbox, <span class="Constant">response-starting-row-on-screen:offset</span>,<span class="Constant"> 0</span> <span id="L207" class="LineNr">207 </span>] </pre> |