Deescalation: the usage of the pairs in export_vars is not so dangerous as it looked at first sight.The problem case was originating from the call lappend __vars [lindex $_var 0] [uplevel subst [lindex $_var 1]]which calls Tcl's "uplevel" with two arguments. In this case, the argumentsare concatenated and the evaluated in the caller's frame. There is a substitutionbefore the evaluation. When just one argument is passed in, this problem thereis only one evaluation: lappend __vars [lindex $_var 0] [uplevel [list subst [lindex $_var 1]]]
Show less