set cand {}
foreach list $lists { pushnew cand [lindex $list 0] }
- ## Remove candidate items which have not the first in some other list.
+ ## Remove candidate items which are not first in some other list.
set ncand {}
foreach cand $cand {
foreach list $lists {
- if {[lsearch -exact $list $cand] < 0} { lappend ncand $cand }
+ if {[lsearch -exact $list $cand] <= 0} { lappend ncand $cand }
}
}
+ set cand $ncand
## If there's nothing left, report an error.
if {![llength $cand]} {
## Evaluate BODY, but on exit restore the CONFVAR array so that the BODY
## has no lasting effect on it.
- upvar #1 $confvar CONFIG
+ upvar #0 $confvar CONFIG
set old [array get CONFIG]
unwind-protect {
uplevel 1 $body
}
set win true
} {
+ foreach view $ZONECFG(all-views) { close $chan($view) }
if {$win} {
foreach view $ZONECFG(all-views) {
file rename -force -- "$out($view).new" $out($view)