summaryrefslogtreecommitdiffstats
path: root/tree.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-02-01 21:33:36 -0800
committerKaz Kylheku <kaz@kylheku.com>2021-02-01 21:33:36 -0800
commit6968ea83c5bfb11b725e3ab638a66ff2681ce6f6 (patch)
tree64c1fa4d08a70714556d98bc2f2803772eb9d3c5 /tree.h
parent4a03ee8d1fde18336c288ee48241e786c7330f09 (diff)
downloadtxr-6968ea83c5bfb11b725e3ab638a66ff2681ce6f6.tar.gz
txr-6968ea83c5bfb11b725e3ab638a66ff2681ce6f6.tar.bz2
txr-6968ea83c5bfb11b725e3ab638a66ff2681ce6f6.zip
matcher: restore nulling out of vars in @(or).
* share/txr/stdlib/match.tl (compiled-match get-vars): Local function here becomes stand-alone defun, because we need it elsewhere. (compiled-mach wrap-guards): When processing the guard-disjunction object to produce the or branches, we calculate, for each branch, its own variables, and the variables of the preceding clauses. We generate code to set the previous variables to nil. Not all the previous variables, just those that are not also in the current clause. (get-vars): New function.
Diffstat (limited to 'tree.h')
0 files changed, 0 insertions, 0 deletions