Skip to content

Commit a490c68

Browse files
committed
tclcompat: allow additional args to parray
Rather than: parray env * [curry stderr puts] it is now easier to write: parray env * stderr puts Signed-off-by: Steve Bennett <[email protected]>
1 parent ca9fd7a commit a490c68

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

tclcompat.tcl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ proc fileevent {args} {
6565

6666
# Second, optional argument is a glob pattern
6767
# Third, optional argument is a "putter" function
68-
proc parray {arrayname {pattern *} {puts puts}} {
68+
# with args being additional arguments to the putter
69+
# (invoked as $puts {*}$args string)
70+
proc parray {arrayname {pattern *} {puts puts} args} {
6971
upvar $arrayname a
7072

7173
set max 0
@@ -77,7 +79,7 @@ proc parray {arrayname {pattern *} {puts puts}} {
7779
incr max [string length $arrayname]
7880
incr max 2
7981
foreach name [lsort [array names a $pattern]] {
80-
$puts [format "%-${max}s = %s" $arrayname\($name\) $a($name)]
82+
$puts {*}$args [format "%-${max}s = %s" $arrayname\($name\) $a($name)]
8183
}
8284
}
8385

0 commit comments

Comments
 (0)