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 | 90ff8d6428d0fb99459d3794077dc47fe618c73f (patch) | |
tree | 2b07b1c5293e817e997fa7a8d1648793ca17b00c /eval.c | |
parent | 398b5e506ae146d3bc63882343b40a46185fdade (diff) | |
download | txr-90ff8d6428d0fb99459d3794077dc47fe618c73f.tar.gz txr-90ff8d6428d0fb99459d3794077dc47fe618c73f.tar.bz2 txr-90ff8d6428d0fb99459d3794077dc47fe618c73f.zip |
Check for non-symbols in catch clauses.
* eval.c (expand_catch_clause): Check added that clause sym
must be a symbol.
Diffstat (limited to 'eval.c')
-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); |