diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-10-04 16:45:16 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-10-04 16:45:16 -0700 |
commit | 6bd176817d1a9deca4ae7136fa616b82c50cdb61 (patch) | |
tree | 8a66ee624949844b559cd26075f3f8a5bbb5cc2a /regex.h | |
parent | 6dba0b4836e192906c63773527861ddf9de1d679 (diff) | |
download | txr-6bd176817d1a9deca4ae7136fa616b82c50cdb61.tar.gz txr-6bd176817d1a9deca4ae7136fa616b82c50cdb61.tar.bz2 txr-6bd176817d1a9deca4ae7136fa616b82c50cdb61.zip |
* match.c (match_line, match_files): Another correction to how bindings
are handled in collect/coll. New bindings from the main clause and
last clause must override old bindings. This is done by some
additional set difference operations based on symbol identity.
Otherwise it is possible to end up with multiple bindings for the
same symbol, which is untidy. If the collect clause scrubs a variable
with forget and re-binds it, then combining that environment
with the previous bindings will create a duplicate.
Also, fixed a serious bug with the bindings from the last clause;
the append was wrongly put into the loop that processes the collected
lists.
Diffstat (limited to 'regex.h')
0 files changed, 0 insertions, 0 deletions