clean up trace depth in a few places
It turns out the problem was that `and` wasn't cleaning up after itself when it short-circuited evaluation. Similar problems in a couple more places.
This commit is contained in:
parent
940401ff9e
commit
e3c7445330
|
@ -342,6 +342,7 @@ fn evaluate _in-ah: (addr handle cell), _out-ah: (addr handle cell), env-h: (han
|
|||
compare nil?, 0/false
|
||||
{
|
||||
break-if-=
|
||||
trace-higher trace
|
||||
return
|
||||
}
|
||||
var rest/eax: (addr cell) <- lookup *rest-ah
|
||||
|
@ -388,6 +389,7 @@ fn evaluate _in-ah: (addr handle cell), _out-ah: (addr handle cell), env-h: (han
|
|||
compare nil?, 0/false
|
||||
{
|
||||
break-if-!=
|
||||
trace-higher trace
|
||||
return
|
||||
}
|
||||
var rest/eax: (addr cell) <- lookup *rest-ah
|
||||
|
@ -545,6 +547,7 @@ fn evaluate _in-ah: (addr handle cell), _out-ah: (addr handle cell), env-h: (han
|
|||
compare error?, 0/false
|
||||
break-if-=
|
||||
trace-higher trace
|
||||
trace-higher trace
|
||||
return
|
||||
}
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue