summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-27 06:41:40 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-27 06:41:40 -0700
commit2970e33cf1cf28bd091133e620008f9764993e64 (patch)
tree8e7dbb7573720e4cfc6ec255ace31d31e28eff0e /eval.c
parentb4045996e6ba899a982561d38467f3f118624a12 (diff)
downloadtxr-2970e33cf1cf28bd091133e620008f9764993e64.tar.gz
txr-2970e33cf1cf28bd091133e620008f9764993e64.tar.bz2
txr-2970e33cf1cf28bd091133e620008f9764993e64.zip
compiler: bugfix in sys:fbind op.
When a (flet ...) form is compiled, the function arguments of the lambda are being bound in the same frame and clashing against the variables being bound by the construct. * share/txr/stdlib/compiler.tl (compiler comp-fbind): For the non-recursive case, insert the dummy empty environment eenv, and compile the forms in that environment. This raises them up to the appropriate display level without affecting what is visible in their scope.
Diffstat (limited to 'eval.c')
0 files changed, 0 insertions, 0 deletions