diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2020-08-14 11:46:36 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2020-08-14 11:46:36 -0700 |
commit | e2e64026eabaaf76dd7c1af8340670123db2f18a (patch) | |
tree | d756019a8e94118a575b94838f4421dd50a73a09 /configure | |
parent | 7bd54dd6ecb2c7e1f9da760bbf4645af5f546d96 (diff) | |
download | txr-e2e64026eabaaf76dd7c1af8340670123db2f18a.tar.gz txr-e2e64026eabaaf76dd7c1af8340670123db2f18a.tar.bz2 txr-e2e64026eabaaf76dd7c1af8340670123db2f18a.zip |
match.c: revert bad commits.
This contains two reverts, folded into one.
"txr: spurious retention in @(next)."
commit fe1e960389a89f481d46c02aa040fdc762da735f.
"txr: avoid by-value match_files_ctx passing."
commit 3d7330b827d6e9cc0d9e87edd30388374cb45900.
These are dependent. The second of these two (i.e. the one
that was done first) is the problematic one. By-reference
passing of contexts means contexts become shared objects
between callers and callees. But this is incorrect, because
mutations are going on, like c->spec = rest(c->spec) or
c->data = rest(c->data). These mutations were done under the
assumption of safety: that the caller is not affected due to
by-value semantics of the entire context.
Diffstat (limited to 'configure')
0 files changed, 0 insertions, 0 deletions