summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-12-29 06:54:19 -0800
committerKaz Kylheku <kaz@kylheku.com>2015-12-29 06:54:19 -0800
commite89ead0276c347d4f5eac78f00d18d76ea4c39c3 (patch)
treefd33a74a427badefa3ae4cdffee29afd7b48b62f /eval.c
parent52a90ab0eb45508c98d4338ff28722dadbe28ee9 (diff)
downloadtxr-e89ead0276c347d4f5eac78f00d18d76ea4c39c3.tar.gz
txr-e89ead0276c347d4f5eac78f00d18d76ea4c39c3.tar.bz2
txr-e89ead0276c347d4f5eac78f00d18d76ea4c39c3.zip
Don't suppress detailed error trace for eval-error.
* eval.c (error_trace): The original idea behind the eval_error_s check is that eval errors already carry line number info, so we don't want to print redundant information. However, the scope of the detailed information has greatly increased, so we need to do this check in the loop.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index ddbc17ae..4110ddb6 100644
--- a/eval.c
+++ b/eval.c
@@ -240,7 +240,7 @@ void error_trace(val exsym, val exvals, val out_stream, val prefix)
else
format(out_stream, lit("~a ~!~a\n"), prefix, car(exvals), nao);
- if (info && !uw_exception_subtype_p(exsym, eval_error_s)) {
+ if (info) {
val first, origin, oinfo;
for (first = t; last; last = origin, info = oinfo, first = nil) {
@@ -251,7 +251,7 @@ void error_trace(val exsym, val exvals, val out_stream, val prefix)
if (origin)
format(out_stream, lit("~a possibly triggered by form ~!~s\n"),
prefix, last, nao);
- else
+ else if (!uw_exception_subtype_p(exsym, eval_error_s))
format(out_stream, lit("~a possibly triggered at ~a by form ~!~s\n"),
prefix, info, last, nao);
}