diff --git a/src/run.go b/src/run.go index e49a2d7..b42f702 100644 --- a/src/run.go +++ b/src/run.go @@ -189,11 +189,23 @@ func runVal(line any, stack stack, stacklevel int) (any, ArErr) { break } return runImport(x, stack, stacklevel+1) - case bool: - return x, ArErr{} - case nil: - return x, ArErr{} - case ArObject: + case ABS: + if stackoverflow { + linenum = x.line + path = x.path + code = x.code + break + } + return runAbs(x, stack, stacklevel+1) + case TryCatch: + if stackoverflow { + linenum = x.line + path = x.path + code = x.code + break + } + return runTryCatch(x, stack, stacklevel+1) + case bool, ArObject, number, nil: return x, ArErr{} } if stackoverflow {