diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-12-31 20:36:16 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-12-31 20:36:16 -0800 |
commit | c13c37e56bdf4e1038ee7ff63474c369f5a847bd (patch) | |
tree | 2b07b1c5293e817e997fa7a8d1648793ca17b00c | |
parent | 91003c57ccd5811b12e3c6a7b92c16c0f89e3894 (diff) | |
download | txr-c13c37e56bdf4e1038ee7ff63474c369f5a847bd.tar.gz txr-c13c37e56bdf4e1038ee7ff63474c369f5a847bd.tar.bz2 txr-c13c37e56bdf4e1038ee7ff63474c369f5a847bd.zip |
Check for non-symbols in catch clauses.
* eval.c (expand_catch_clause): Check added that clause sym
must be a symbol.
-rw-r--r-- | eval.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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); |