diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/evaluate.mu | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/shell/evaluate.mu b/shell/evaluate.mu index 68ec10fe..f27df21b 100644 --- a/shell/evaluate.mu +++ b/shell/evaluate.mu @@ -529,8 +529,21 @@ fn evaluate _in-ah: (addr handle cell), _out-ah: (addr handle cell), env-h: (han trace-higher trace return } - trace-text trace, "eval", "function call" - trace-text trace, "eval", "evaluating list elements" + # trace "evaluate function call elements in " in {{{ + { + var should-trace?/eax: boolean <- should-trace? trace + compare should-trace?, 0/false + break-if-= + var stream-storage: (stream byte 0x300) + var stream/ecx: (addr stream byte) <- address stream-storage + write stream, "evaluate function call elements in " + var nested-trace-storage: trace + var nested-trace/edi: (addr trace) <- address nested-trace-storage + initialize-trace nested-trace, 1/only-errors, 0x10/capacity, 0/visible + print-cell in-ah, stream, nested-trace + trace trace, "eval", stream + } + # }}} trace-lower trace var evaluated-list-storage: (handle cell) var evaluated-list-ah/esi: (addr handle cell) <- address evaluated-list-storage |