diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-08-21 17:21:14 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-08-21 17:21:14 -0700 |
commit | c1b264c157821352175eee7f5663f2c1782dfc1f (patch) | |
tree | 035a336155850885b0e6f9af1a922ad42b1d9a72 | |
parent | e263e2ed5cf155936d16a3cd2d91096c02a5e0f1 (diff) | |
download | txr-c1b264c157821352175eee7f5663f2c1782dfc1f.tar.gz txr-c1b264c157821352175eee7f5663f2c1782dfc1f.tar.bz2 txr-c1b264c157821352175eee7f5663f2c1782dfc1f.zip |
ecase: diagnose bad syntax.
* eval.c (me_ecase): Diagnose missing test form, like me_case.
-rw-r--r-- | eval.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -4291,6 +4291,7 @@ static val me_case(val form, val menv) static val me_ecase(val form, val menv) { + val form_orig = form; val casesym = pop(&form); val orig_args = form; val testform = pop(&form); @@ -4298,6 +4299,9 @@ static val me_ecase(val form, val menv) val clauses = form; val lastclause = car(lastcons(clauses)); + if (!orig_args) + expand_error(form_orig, lit("~s: missing test form"), casesym, nao); + if (consp(lastclause) && car(lastclause) == t) { return cons(tgtsym, orig_args); } else { |