From 90ff8d6428d0fb99459d3794077dc47fe618c73f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 31 Dec 2016 20:36:16 -0800 Subject: Check for non-symbols in catch clauses. * eval.c (expand_catch_clause): Check added that clause sym must be a symbol. --- eval.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eval.c b/eval.c index ae16dcf0..1adc8e62 100644 --- a/eval.c +++ b/eval.c @@ -3623,6 +3623,8 @@ static val expand_catch_clause(val form, val menv) val body_ex0 = expand_forms(body, new_menv); cons_bind (params_ex, body_ex, expand_params(params, body_ex0, menv, nil, form)); + if (!symbolp(sym)) + eval_error(form, lit("catch: ~s isn't a symbol"), sym, nao); if (body == body_ex && params == params_ex) return form; return rlcp(cons(sym, cons(params_ex, body_ex)), form); -- cgit v1.2.3