summaryrefslogtreecommitdiffstats
path: root/combi.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-04-05 19:40:15 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-04-05 19:40:15 -0700
commit6a9a84f20e925f76f58d935d9844215af4bf0363 (patch)
treed63553113db4a5c015cddecf25ee85eaf2f83a01 /combi.h
parent5ca3693a7b5d65fd5aa67c737e7a60b457db2281 (diff)
downloadtxr-6a9a84f20e925f76f58d935d9844215af4bf0363.tar.gz
txr-6a9a84f20e925f76f58d935d9844215af4bf0363.tar.bz2
txr-6a9a84f20e925f76f58d935d9844215af4bf0363.zip
@(output): bugfix: lazy evaluation doesn't work.
In an @(output), if we reference a variable bound to a lazy list, and the generation of that logic references TXR pattern variables, things break: the lazy list's code doesn't see the binding. This is because the lazy list is forced by some logic that doesn't establish the proper environment for that evaluation. Inside a @(repeat), the do_output function measures the lengths of lists emanating from variables, and that has the effect of forcing the lazy lists. * match.c (v_output): Just set up the dynamic environment around the entire function, so that any Lisp evaluation that occurs is happening as if it were via tleval.
Diffstat (limited to 'combi.h')
0 files changed, 0 insertions, 0 deletions