diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-11-27 06:42:57 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-11-27 06:42:57 -0800 |
commit | bcf9ea19a41b36a5e4bd4e7bb37cca513c87fa2f (patch) | |
tree | dd3d3d73b1697c19477aa0ac1880eb3d373b872e | |
parent | 7996c9220ec33a5c9c4d3acdade3b4b93f7dd87f (diff) | |
download | txr-bcf9ea19a41b36a5e4bd4e7bb37cca513c87fa2f.tar.gz txr-bcf9ea19a41b36a5e4bd4e7bb37cca513c87fa2f.tar.bz2 txr-bcf9ea19a41b36a5e4bd4e7bb37cca513c87fa2f.zip |
case macros: stricter syntactic check.
* eval.c (me_case): Throw error if the test form is missing.
-rw-r--r-- | eval.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -3913,6 +3913,9 @@ static val me_case(val form, val menv) list_collect_decl (condpairs, ptail); list_collect_decl (hashforms, qtail); + if (atom(cdr(form_orig))) + eval_error(form_orig, lit("~s: missing test form"), casesym, nao); + if (casesym == caseq_s || casesym == caseq_star_s) { memfuncsym = memq_s; eqfuncsym = eq_s; |