about summary refs log tree commit diff stats
path: root/edit
diff options
context:
space:
mode:
Diffstat (limited to 'edit')
-rw-r--r--edit/004-programming-environment.mu9
-rw-r--r--edit/005-sandbox.mu3
2 files changed, 9 insertions, 3 deletions
diff --git a/edit/004-programming-environment.mu b/edit/004-programming-environment.mu
index c1f8af7f..897f2923 100644
--- a/edit/004-programming-environment.mu
+++ b/edit/004-programming-environment.mu
@@ -403,7 +403,6 @@ def render-all screen:&:screen, env:&:environment, render-editor:render-recipe -
   local-scope
   load-ingredients
   trace 10, [app], [render all]
-  old-top-idx:num <- save-top-idx screen
   # top menu
   trace 11, [app], [render top menu]
   width:num <- screen-width screen
@@ -427,14 +426,13 @@ def render-all screen:&:screen, env:&:environment, render-editor:render-recipe -
   current-sandbox:&:editor <- get *env, current-sandbox:offset
   sandbox-in-focus?:bool <- get *env, sandbox-in-focus?:offset
   screen <- update-cursor screen, recipes, current-sandbox, sandbox-in-focus?, env
-  #
-  assert-no-scroll screen, old-top-idx
 ]
 
 def render-recipes screen:&:screen, env:&:environment, render-editor:render-recipe -> screen:&:screen, env:&:environment [
   local-scope
   load-ingredients
   trace 11, [app], [render recipes]
+  old-top-idx:num <- save-top-idx screen
   recipes:&:editor <- get *env, recipes:offset
   # render recipes
   left:num <- get *recipes, left:offset
@@ -447,6 +445,8 @@ def render-recipes screen:&:screen, env:&:environment, render-editor:render-reci
   draw-horizontal screen, row, left, right, 9480/horizontal-dotted
   row <- add row, 1
   clear-screen-from screen, row, left, left, right
+  #
+  assert-no-scroll screen, old-top-idx
 ]
 
 # replaced in a later layer
@@ -454,6 +454,7 @@ def render-sandbox-side screen:&:screen, env:&:environment, render-editor:render
   local-scope
   load-ingredients
   trace 11, [app], [render sandboxes]
+  old-top-idx:num <- save-top-idx screen
   current-sandbox:&:editor <- get *env, current-sandbox:offset
   left:num <- get *current-sandbox, left:offset
   right:num <- get *current-sandbox, right:offset
@@ -464,6 +465,8 @@ def render-sandbox-side screen:&:screen, env:&:environment, render-editor:render
   draw-horizontal screen, row, left, right
   row <- add row, 1
   clear-screen-from screen, row, left, left, right
+  #
+  assert-no-scroll screen, old-top-idx
 ]
 
 def update-cursor screen:&:screen, recipes:&:editor, current-sandbox:&:editor, sandbox-in-focus?:bool, env:&:environment -> screen:&:screen [
diff --git a/edit/005-sandbox.mu b/edit/005-sandbox.mu
index 2be439e3..255dfc35 100644
--- a/edit/005-sandbox.mu
+++ b/edit/005-sandbox.mu
@@ -247,6 +247,7 @@ def! render-sandbox-side screen:&:screen, env:&:environment, render-editor:rende
   local-scope
   load-ingredients
   trace 11, [app], [render sandbox side]
+  old-top-idx:num <- save-top-idx screen
   current-sandbox:&:editor <- get *env, current-sandbox:offset
   row:num, column:num <- copy 1, 0
   left:num <- get *current-sandbox, left:offset
@@ -265,6 +266,8 @@ def! render-sandbox-side screen:&:screen, env:&:environment, render-editor:rende
   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
+  #
+  assert-no-scroll screen, old-top-idx
 ]
 
 def render-sandboxes screen:&:screen, sandbox:&:sandbox, left:num, right:num, row:num, render-from:num, idx:num -> row:num, screen:&:screen, sandbox:&:sandbox [