proc usage {file} {
global argv0
- puts $file "Usage: \n\
- $argv0 [-s] FILE\n
- $argv0 -u OUTPUT FILE FILE ..."
+ puts $file "Usage: \n\t$argv0 \[-s\] FILE\n\t$argv0 -u OUTPUT FILE FILE ..."
}
# clear-arrays ARRAY ...
write-safe {
while {[gets $c line] >= 0} {
if {[regexp -- {^\[(.*)\]\s*$} $line . name]} {
- if {[info exists o]} {
- close $o
- } elseif {!$donebefore} {
- exec "sh" "-c" $opt(before) <@ stdin >@ stdout 2>@ stderr
- set donebefore 1
- }
+ if {[info exists o]} { close $o }
if {[string equal $name ""]} {
catch { unset o }
} else {
+ if {!$donebefore} {
+ exec "sh" "-c" $opt(before) <@ stdin >@ stdout 2>@ stderr
+ set donebefore 1
+ }
set name "$opt(prefix)$name"
set o [write-safe-open $name]
set new($name) 1
}
write-safe-manifest $conf [array names new]
} {
- exec "sh" "-c" $opt(after) <@ stdin >@ stdout 2>@ stderr
+ if {$donebefore} {
+ exec "sh" "-c" $opt(after) <@ stdin >@ stdout 2>@ stderr
+ }
}
}
}