summaryrefslogtreecommitdiffstats
path: root/vm.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-31 13:28:22 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-31 13:28:22 -0700
commitd934a3e1fc57f3efcdd772ae2822efc845e74468 (patch)
tree73c173043e2aacd33e407e5112c748f1281542fc /vm.c
parent12bd2bfc9aaa72cb325428f898cf0cbdd4b6c8ab (diff)
downloadtxr-d934a3e1fc57f3efcdd772ae2822efc845e74468.tar.gz
txr-d934a3e1fc57f3efcdd772ae2822efc845e74468.tar.bz2
txr-d934a3e1fc57f3efcdd772ae2822efc845e74468.zip
expander: bugfix: fixed params visible to optionals.
* eval.c (expand_params_rec): Add the parameter to the macro-time environment before processing rest of parameter list. This is already done for all the symbols of a macro-style destructuring; just not for a simple parameter. This is necessary, because the init forms of optional parameters occur in a lexical environment in which prior parameters are visible. The test case for this is that (lambda (x : (y x))) must not produce a warning about unbound x.
Diffstat (limited to 'vm.c')
0 files changed, 0 insertions, 0 deletions