@@ -277,6 +277,10 @@ proc recipe-flag {flagname {def 0}} {
# subsequent items in SCRIPT-ARGS are added to the expansion of
# /@ in TESTID. (The "+" itself is not added to the arguments
# or the testid.)
+#
+# An argument which is precisely "+!" specifies that the
+# subsequent items in SCRIPT-ARGS are to be _only_ added to
+# the expansion of /@ in TESTID, until the next "+".
proc run-ts {iffail args} {
set wantstatus pass
@@ -343,7 +347,11 @@ proc spawn-ts {iffail testid args} {
set adding [expr {!$adding}]
continue
}
- lappend real_args $arg
+ if {![string compare +! $arg]} {
+ set adding -1
+ continue
+ }
+ if {$adding>=0} { lappend real_args $arg }
if {$adding} { lappend testid_args $arg }
}