From 9534be3bd9e09e1f491faa9d6d89d4d1dfd16d96 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Mon, 26 Jun 2023 14:02:18 -0400 Subject: Don't use variables as parameters in negation (since negations don't actually get those variables bound) Fixes negation with variables --- main.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tcl b/main.tcl index 87411250..3b6faea7 100644 --- a/main.tcl +++ b/main.tcl @@ -109,12 +109,12 @@ proc When {args} { lset pattern $i [uplevel [list subst $word]] } } - lappend argNames {*}$varNamesWillBeBound if {$negate} { set negateBody [list if {[llength $__matches] == 0} $body] uplevel [list Say when the collected matches for $pattern are /__matches/ [list [list {*}$argNames __matches] $negateBody] with environment $argValues] } else { + lappend argNames {*}$varNamesWillBeBound uplevel [list Say when {*}$pattern [list $argNames $body] with environment $argValues] } } -- cgit v1.2.3