summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-02-16 06:15:29 -0800
committerKaz Kylheku <kaz@kylheku.com>2012-02-16 06:15:29 -0800
commitd7ba2b97d8c03bf47c25978d96fa055e7d11ba5a (patch)
tree0aac9cbd9651ea3f7044e39a1eb03c14b425bba1 /eval.c
parentecc500b1b343a8fc087236cc0b22a25322b6852e (diff)
downloadtxr-d7ba2b97d8c03bf47c25978d96fa055e7d11ba5a.tar.gz
txr-d7ba2b97d8c03bf47c25978d96fa055e7d11ba5a.tar.bz2
txr-d7ba2b97d8c03bf47c25978d96fa055e7d11ba5a.zip
* eval.c (op_catch): Treat the nil exception object as an empty
list, and not the atom nil. * match.c (v_try): Do not transform an atomic exception x into the list ((t . x)). Just to (x). This (t . x) representation is a vestige of from the time when the exception consisted of the old-style return values from txeval.
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 a62353ed..4aa1019b 100644
--- a/eval.c
+++ b/eval.c
@@ -1094,7 +1094,7 @@ static val op_catch(val form, val env)
if (uw_exception_subtype_p(exsym, type)) {
val params = second(clause);
- val clause_env = bind_args(env, params, if3(consp(exvals),
+ val clause_env = bind_args(env, params, if3(listp(exvals),
exvals, cons(exvals, nil)),
clause);
result = eval_progn(rest(rest(clause)), clause_env, clause);