diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-03-08 08:15:42 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-03-08 08:15:42 -0800 |
commit | 6438a2e747c834da59fbaf1704a72b184d40c5d8 (patch) | |
tree | b60f2d2c9c15eec8a3ccd4ea8d622269c70247ae /txr.1 | |
parent | 4687dad975105144fd04827ca525a6272102b9d0 (diff) | |
download | txr-6438a2e747c834da59fbaf1704a72b184d40c5d8.tar.gz txr-6438a2e747c834da59fbaf1704a72b184d40c5d8.tar.bz2 txr-6438a2e747c834da59fbaf1704a72b184d40c5d8.zip |
expander: tree-bind: fix incorrect param env.
* eval.c (do_expand): A wrong thing is being done here:
the macro is extended using the original parameter
syntax, that has not been processed by expand_params.
The body is then expanded using that environment.
This subtly breaks support for parameter macros in tree-bind.
They work, but there are spurious warnings about undefined
variables during expansion, and the wrong scope handling
can introduce bugs. The right thing is to derive new_menv
by pulling the parameter symbols from params_ex.
Diffstat (limited to 'txr.1')
0 files changed, 0 insertions, 0 deletions