about summary refs log tree commit diff stats
path: root/shell/sandbox.mu
diff options
context:
space:
mode:
Diffstat (limited to 'shell/sandbox.mu')
-rw-r--r--shell/sandbox.mu12
1 files changed, 10 insertions, 2 deletions
diff --git a/shell/sandbox.mu b/shell/sandbox.mu
index 49c2a5f9..6f25474a 100644
--- a/shell/sandbox.mu
+++ b/shell/sandbox.mu
@@ -174,9 +174,17 @@ fn run in: (addr gap-buffer), out: (addr stream byte), trace: (addr trace) {
     break-if-=
     return
   }
-  # TODO: eval
+  var eval-result-storage: (handle cell)
+  var eval-result/edi: (addr handle cell) <- address eval-result-storage
+  evaluate read-result, eval-result, trace
+  var error?/eax: boolean <- has-errors? trace
+  {
+    compare error?, 0/false
+    break-if-=
+    return
+  }
   clear-stream out
-  print-cell read-result, out, trace
+  print-cell eval-result, out, trace
   mark-lines-dirty trace
 }