about summary refs log tree commit diff stats
path: root/edit/006-sandbox-edit.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2016-01-23 13:32:00 -0800
committerKartik K. Agaram <vc@akkartik.com>2016-01-23 13:32:00 -0800
commita01dd5959383a0dc7ffe2c9b3eee8d2c28e94c45 (patch)
tree487472df0fba86cc8c0219a8677b682fd825035c /edit/006-sandbox-edit.mu
parente0d69d3b3326081dda661d714cef97a13dabb7c8 (diff)
downloadmu-a01dd5959383a0dc7ffe2c9b3eee8d2c28e94c45.tar.gz
2594 - bugfixes: managing state when deleting
This required completely redesigning scrolling.
Diffstat (limited to 'edit/006-sandbox-edit.mu')
-rw-r--r--edit/006-sandbox-edit.mu12
1 files changed, 5 insertions, 7 deletions
diff --git a/edit/006-sandbox-edit.mu b/edit/006-sandbox-edit.mu
index db1ee324..600a5c4c 100644
--- a/edit/006-sandbox-edit.mu
+++ b/edit/006-sandbox-edit.mu
@@ -79,12 +79,11 @@ after <global-touch> [
     break-unless empty-sandbox-editor?  # don't clobber existing contents
     # identify the sandbox to edit and remove it from the sandbox list
     sandbox:address:shared:sandbox-data <- extract-sandbox env, click-row
+    break-unless sandbox
     text:address:shared:array:character <- get *sandbox, data:offset
     current-sandbox <- insert-text current-sandbox, text
-    first-sandbox-to-render:address:address:shared:sandbox-data <- get-address *env, first-sandbox-to-render:offset
-    *first-sandbox-to-render <- copy 0
-    first-sandbox-index:address:number <- get-address *env, first-sandbox-index:offset
-    *first-sandbox-index <- copy 0
+    render-from:address:number <- get-address *env, render-from:offset
+    *render-from <- copy -1
     hide-screen screen
     screen <- render-sandbox-side screen, env
     screen <- update-cursor screen, recipes, current-sandbox, *sandbox-in-focus?, env
@@ -104,11 +103,10 @@ recipe empty-editor? editor:address:shared:editor-data -> result:boolean [
 recipe extract-sandbox env:address:shared:programming-environment-data, click-row:number -> result:address:shared:sandbox-data, env:address:shared:programming-environment-data [
   local-scope
   load-ingredients
-  # assert click-row >= sandbox.starting-row-on-screen
   sandbox:address:address:shared:sandbox-data <- get-address *env, sandbox:offset
   start:number <- get **sandbox, starting-row-on-screen:offset
-  clicked-on-sandboxes?:boolean <- greater-or-equal click-row, start
-  assert clicked-on-sandboxes?, [extract-sandbox called on click to sandbox editor]
+  in-editor?:boolean <- lesser-than click-row, start
+  reply-if in-editor?, 0
   {
     next-sandbox:address:shared:sandbox-data <- get **sandbox, next-sandbox:offset
     break-unless next-sandbox