diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-05-25 07:05:23 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-05-25 07:05:23 -0700 |
commit | 535999c69576b3e57e35f1936bac852c6aedc983 (patch) | |
tree | 61f0ecce088b10802583cd62e73f052b12b02ecd /parser.h | |
parent | d036239788b1825bfa05588d7f9ee379cd95fc54 (diff) | |
download | txr-535999c69576b3e57e35f1936bac852c6aedc983.tar.gz txr-535999c69576b3e57e35f1936bac852c6aedc983.tar.bz2 txr-535999c69576b3e57e35f1936bac852c6aedc983.zip |
Fix mismanaged dyn_env variable.
* eval.c (bindings_helper): In the parallel binding case, only allocate
a new dynamic env when it is needed (because a special variable is
being bound), rather than unconditionally.
Consequently, only modify dyn_env when the dynamic environment actually
needs to be extended. Constructs that use bindings_helper are only
wrapped in the dynamic environment save/restore form
sys:with-saved-vars if they bind special variables.
Diffstat (limited to 'parser.h')
0 files changed, 0 insertions, 0 deletions