diff options
Diffstat (limited to 'shell/evaluate.mu')
-rw-r--r-- | shell/evaluate.mu | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/shell/evaluate.mu b/shell/evaluate.mu index 170a1713..580a9ac3 100644 --- a/shell/evaluate.mu +++ b/shell/evaluate.mu @@ -2,6 +2,15 @@ # we never modify `in` or `env` # ignore 'screen-cell' on a first reading; it's a hack for sandboxes fn evaluate _in: (addr handle cell), out: (addr handle cell), env-h: (handle cell), globals: (addr global-table), trace: (addr trace), screen-cell: (addr handle cell), keyboard-cell: (addr handle cell) { + # errors? skip + { + compare trace, 0 + break-if-= + var error?/eax: boolean <- has-errors? trace + compare error?, 0/false + break-if-= + return + } var in/esi: (addr handle cell) <- copy _in #? dump-cell in #? { |