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 | a1dd3819ae64cb5b61b63759ec21d4b60aa230af (patch) | |
tree | 035a336155850885b0e6f9af1a922ad42b1d9a72 | |
parent | 12ff241a4d50e22e6428d22426a147ed7b3d2847 (diff) | |
download | txr-a1dd3819ae64cb5b61b63759ec21d4b60aa230af.tar.gz txr-a1dd3819ae64cb5b61b63759ec21d4b60aa230af.tar.bz2 txr-a1dd3819ae64cb5b61b63759ec21d4b60aa230af.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 { |