summaryrefslogtreecommitdiffstats
path: root/gc.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-10-04 16:45:16 -0700
committerKaz Kylheku <kaz@kylheku.com>2011-10-04 16:45:16 -0700
commit6bd176817d1a9deca4ae7136fa616b82c50cdb61 (patch)
tree8a66ee624949844b559cd26075f3f8a5bbb5cc2a /gc.h
parent6dba0b4836e192906c63773527861ddf9de1d679 (diff)
downloadtxr-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 'gc.h')
0 files changed, 0 insertions, 0 deletions