about summary refs log tree commit diff stats
path: root/shell/evaluate.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-05-31 12:56:15 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-05-31 15:18:25 -0700
commitee536ff3e8693a942edcf73ccd929881e0615226 (patch)
treebc102cd3e7928699fb82d2bad853f882e11d4796 /shell/evaluate.mu
parent82171a0fdfa28251cbc360dcf205392fee2c7eeb (diff)
downloadmu-ee536ff3e8693a942edcf73ccd929881e0615226.tar.gz
.
Diffstat (limited to 'shell/evaluate.mu')
-rw-r--r--shell/evaluate.mu2
1 files changed, 2 insertions, 0 deletions
diff --git a/shell/evaluate.mu b/shell/evaluate.mu
index d1be2246..403b9d14 100644
--- a/shell/evaluate.mu
+++ b/shell/evaluate.mu
@@ -2,6 +2,7 @@
 # we never modify `_in-ah` or `env`
 # ignore args past 'trace' on a first reading; they're for the environment not the language
 # 'call-number' is just for showing intermediate progress; this is a _slow_ interpreter
+# side-effect: prints to real screen if not in a test (screen-cell != 0)
 fn evaluate _in-ah: (addr handle cell), _out-ah: (addr handle cell), env-h: (handle cell), globals: (addr global-table), trace: (addr trace), screen-cell: (addr handle cell), keyboard-cell: (addr handle cell), call-number: int {
   # stack overflow?   # disable when enabling Really-debug-print
   check-stack
@@ -24,6 +25,7 @@ fn evaluate _in-ah: (addr handle cell), _out-ah: (addr handle cell), env-h: (han
   }
   var in-ah/esi: (addr handle cell) <- copy _in-ah
   # show intermediate progress on screen if necessary
+  # treat input at the real keyboard as interrupting
   {
     compare screen-cell, 0
     break-if-=