diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-04-17 19:54:55 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-04-17 19:54:55 -0700 |
commit | b7328a9a4f54d27f57bde487a02a7348e4685048 (patch) | |
tree | 030e3e2685458810c3999e020b1b429067345314 /win | |
parent | 587d7a252c7f3f0c3711379c9dad1cd97293a1c7 (diff) | |
download | txr-b7328a9a4f54d27f57bde487a02a7348e4685048.tar.gz txr-b7328a9a4f54d27f57bde487a02a7348e4685048.tar.bz2 txr-b7328a9a4f54d27f57bde487a02a7348e4685048.zip |
Fix inconsistency of Lisp var visibility in TXR.
Numerous places in match.c are using assoc(sym, bindings)
logic to access a variable, which doesn't see the Lisp
globals, as we would like. For example, if foo is
defined using (defvar foo), @(set foo "A") doesn't work.
This is subject to the compatibility option.
* match.c (tx_lookup_var): New static function.
(dest_set, h_var, h_coll, h_parallel, h_fun, v_next,
v_parallel, v_gather, v_collect, v_flatten, v_cat,
v_output, v_filter, v_fun, match_filter): Use tx_lookup_var
instead of assoc for all lookups that see the full variable
scope. Only variable lists known to be locally consed up
are scanned with just assoc.
* txr.1: Documented new rules and added compatibility notes.
Diffstat (limited to 'win')
0 files changed, 0 insertions, 0 deletions