summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-12-27 19:08:42 -0800
committerKaz Kylheku <kaz@kylheku.com>2015-12-27 19:08:42 -0800
commitb2eb4ca71d4b85df0cef4aa354334ba867d2cfe2 (patch)
treedb3978c7a58da0db2c93415d1019ee3b9a0d6654 /eval.c
parentb6b1ea80260db58067c6a71f6ef9f1833b4102b2 (diff)
downloadtxr-b2eb4ca71d4b85df0cef4aa354334ba867d2cfe2.tar.gz
txr-b2eb4ca71d4b85df0cef4aa354334ba867d2cfe2.tar.bz2
txr-b2eb4ca71d4b85df0cef4aa354334ba867d2cfe2.zip
Use subtype check for eval error.
* eval.c (error_trace): Don't check exsym for exact equality to eval-error, but whether it is a subtype.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index a63f369b..e92c5845 100644
--- a/eval.c
+++ b/eval.c
@@ -239,7 +239,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 && exsym != eval_error_s) {
+ if (info && !uw_exception_subtype_p(exsym, eval_error_s)) {
val first, origin, oinfo;
for (first = t; last; last = origin, info = oinfo, first = nil) {