diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2023-08-02 18:25:14 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2023-08-02 18:25:14 -0700 |
commit | a81edc2c7f1a8110ccc77ef9c73a462af33565dd (patch) | |
tree | 76afea00f441c3fae2d8c2c116fda67254796174 /stdlib/op.tl | |
parent | 9d2aa3c66fa52700b213b29ae52d9f08e67d0e2c (diff) | |
download | txr-a81edc2c7f1a8110ccc77ef9c73a462af33565dd.tar.gz txr-a81edc2c7f1a8110ccc77ef9c73a462af33565dd.tar.bz2 txr-a81edc2c7f1a8110ccc77ef9c73a462af33565dd.zip |
bug: :vars not usable with :counter in @(repeat).
This is a regression due to a March 2016 commit which
introduced the ability for :vars in an output-side @(repeat)
block to have initial values.
The bug has the effect that all arguments in @(repeat)
which are conses/lists get duplicated, which messes up
the property list structure.
* parser.y (expand_repeat_rep_args): Do not unconditionally
add reg to the output at the bottom of the loop. A few
cases above in the consp(arg) case handle that themselves, and
do not continue the loop, so control ends up at the bottom,
adding a spurious item. By removing this list_collect,
we have to introduce it to just one case which relies on it.
* tests/008/repeat.txr,
* tests/008/repeat.expected: New files.
* y.tab.c.shipped: Updated.
Diffstat (limited to 'stdlib/op.tl')
0 files changed, 0 insertions, 0 deletions