about summary refs log tree commit diff stats
path: root/sandbox/005-sandbox.mu
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/005-sandbox.mu')
-rw-r--r--sandbox/005-sandbox.mu14
1 files changed, 10 insertions, 4 deletions
diff --git a/sandbox/005-sandbox.mu b/sandbox/005-sandbox.mu
index 0d14a42e..c913e796 100644
--- a/sandbox/005-sandbox.mu
+++ b/sandbox/005-sandbox.mu
@@ -217,16 +217,22 @@ def save-sandboxes env:&:environment, resources:&:resources -> resources:&:resou
   idx:num <- copy 0
   {
     break-unless curr
-    data:text <- get *curr, data:offset
-    filename:text <- append [lesson/], idx
-    resources <- dump resources, filename, data
-    <end-save-sandbox>
+    resources <- save-sandbox resources, curr, idx
     idx <- add idx, 1
     curr <- get *curr, next-sandbox:offset
     loop
   }
 ]
 
+def save-sandbox resources:&:resources, sandbox:&:sandbox, sandbox-index:num -> resources:&:resources [
+  local-scope
+  load-ingredients
+  data:text <- get *sandbox, data:offset
+  filename:text <- append [lesson/], sandbox-index
+  resources <- dump resources, filename, data
+  <end-save-sandbox>
+]
+
 def! render-sandbox-side screen:&:screen, env:&:environment, render-editor:render-recipe -> screen:&:screen, env:&:environment [
   local-scope
   load-ingredients