summaryrefslogtreecommitdiffstats
path: root/lisplib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-10-26 00:02:59 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-10-26 00:02:59 -0700
commit0f815d2e4552c71783f302189c67db8ad34343fb (patch)
tree03b92f4c7ecaf75579e4048da9ec10063aec4903 /lisplib.c
parentd066056a22bfea38901da258bd039fc4588c8251 (diff)
downloadtxr-0f815d2e4552c71783f302189c67db8ad34343fb.tar.gz
txr-0f815d2e4552c71783f302189c67db8ad34343fb.tar.bz2
txr-0f815d2e4552c71783f302189c67db8ad34343fb.zip
awk: bugfix: lack of hygiene in range implementation.
The code is using a non-hygienic variable called flag as a placelet alias. This binding is visible to range expressions. For instance (rng #/x/ flag) actually references the range expression's internal flag, rather than producing a warning about an unbound variable. * share/txr/stdlib/awk.tl (sys:awk-mac-let): Allocate a gensym for the flag. Then use ,flag throughout the code templates rather than flag to insert the gensym wherever the symbol flag previously appeared.
Diffstat (limited to 'lisplib.c')
0 files changed, 0 insertions, 0 deletions