clean up final abort in macroexpand

This commit is contained in:
Kartik K. Agaram 2021-06-30 20:43:34 -07:00
parent 49d60aa575
commit c8fb6d6aca
2 changed files with 14 additions and 1 deletions

View File

@ -298,7 +298,14 @@ fn print-pair _in: (addr cell), out: (addr stream byte), trace: (addr trace) {
{
compare right-addr, 0
break-if-!=
abort "NULL in print!"
{
var overflow?/eax: boolean <- try-write out, " ... NULL"
compare overflow?, 0/false
break-if-=
error trace, "print-pair: no space for ' ... NULL'"
return
}
return
}
{
var right-nil?/eax: boolean <- nil? right-addr

View File

@ -613,6 +613,12 @@ fn run-sandbox _self: (addr sandbox), globals: (addr global-table) {
rewind-keyboard-var inner-keyboard-var # don't clear keys from before
#
read-and-evaluate-and-save-gap-buffer-to-globals data-ah, eval-result-ah, globals, definitions-created, trace, inner-screen-var, inner-keyboard-var
var error?/eax: boolean <- has-errors? trace
{
compare error?, 0/false
break-if-=
return
}
# if necessary, initialize a new gap-buffer for sandbox
{
compare globals, 0