diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-02-03 10:22:15 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-02-03 10:22:15 -0800 |
commit | 7d68c07f9f0f776065519dd8afa937000b3e7ba8 (patch) | |
tree | dc84437122785b7d24a662dc4c2332d3388ad747 | |
parent | e3ac780998d8b32d5c10d7aebcca88af7c82b80e (diff) | |
download | txr-7d68c07f9f0f776065519dd8afa937000b3e7ba8.tar.gz txr-7d68c07f9f0f776065519dd8afa937000b3e7ba8.tar.bz2 txr-7d68c07f9f0f776065519dd8afa937000b3e7ba8.zip |
Expander check for macro destination in setq forms.
* eval.c (do_expand): Throw an error if the destination
is a symbol macro which requires expanding.
-rw-r--r-- | eval.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -4146,6 +4146,10 @@ static val do_expand(val form, val menv) if (!bindable(car(args))) not_bindable_warning(form, car(args)); + + if (car(args_ex) != car(args)) + eval_error(form, lit("~s: misapplied to symbol macro ~a"), sym, + car(args), nao); } if (!lookup_fun(menv, sym) && !special_operator_p(sym)) { |