diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-02-01 21:33:36 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-02-01 21:33:36 -0800 |
commit | 6968ea83c5bfb11b725e3ab638a66ff2681ce6f6 (patch) | |
tree | 64c1fa4d08a70714556d98bc2f2803772eb9d3c5 /tree.h | |
parent | 4a03ee8d1fde18336c288ee48241e786c7330f09 (diff) | |
download | txr-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