summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-11-20 12:02:13 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-11-20 12:02:13 -0800
commit71cacde9c896a1532247a349a298e68fd20500a8 (patch)
tree685d2fe504ac2b1cab28144f386e72039992b635 /txr.1
parent811b58e8f70fac421a905a2b627449dfd079958c (diff)
downloadtxr-71cacde9c896a1532247a349a298e68fd20500a8.tar.gz
txr-71cacde9c896a1532247a349a298e68fd20500a8.tar.bz2
txr-71cacde9c896a1532247a349a298e68fd20500a8.zip
Relaxing :vars in collect/coll a little bit.
* match.c (h_coll, v_collect): Only throw an error about missing required variables if the collect iteration collected some new variables. This allows strict collects with :vars to have some cases which explicitly match and skip unwanted material, without binding variables. Also, print all missing variables in the diagnostic. * txr.1: Mention this special exception. * RELNOTES: Updated.
Diffstat (limited to 'txr.1')
-rw-r--r--txr.12
1 files changed, 2 insertions, 0 deletions
diff --git a/txr.1 b/txr.1
index 17c4307c..0953dfef 100644
--- a/txr.1
+++ b/txr.1
@@ -2062,6 +2062,8 @@ variables do not propagate.
Furthermore, for any variable which is not specified with a default value, the
collect body, whenever it matches successfully, must bind that variable. If it
neglects to bind the variable, an exception of type query_error is thrown.
+(If a collect body matches successfully, but produces no new bindings, then
+this error is suppressed.)
For any variable which does have a default value, if the collect body neglects
to bind that variable, the behavior is as if the collect did bind that variable