aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2025-08-13 08:11:10 +1000
committerSteve Bennett <steveb@workware.net.au>2025-08-13 08:13:06 +1000
commita490c6801b5ad75afe209bdfe09f1beb4d351f19 (patch)
tree1eb7dab6fba77b8559427a4ddb665245ae72c13b
parentca9fd7aa23d0e8255115d2c18bb87bdaa9226c8f (diff)
downloadjimtcl-a490c6801b5ad75afe209bdfe09f1beb4d351f19.zip
jimtcl-a490c6801b5ad75afe209bdfe09f1beb4d351f19.tar.gz
jimtcl-a490c6801b5ad75afe209bdfe09f1beb4d351f19.tar.bz2
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 <steveb@workware.net.au>
-rw-r--r--tclcompat.tcl6
1 files changed, 4 insertions, 2 deletions
diff --git a/tclcompat.tcl b/tclcompat.tcl
index 14ce688..11987c5 100644
--- a/tclcompat.tcl
+++ b/tclcompat.tcl
@@ -65,7 +65,9 @@ proc fileevent {args} {
# Second, optional argument is a glob pattern
# Third, optional argument is a "putter" function
-proc parray {arrayname {pattern *} {puts puts}} {
+# with args being additional arguments to the putter
+# (invoked as $puts {*}$args string)
+proc parray {arrayname {pattern *} {puts puts} args} {
upvar $arrayname a
set max 0
@@ -77,7 +79,7 @@ proc parray {arrayname {pattern *} {puts puts}} {
incr max [string length $arrayname]
incr max 2
foreach name [lsort [array names a $pattern]] {
- $puts [format "%-${max}s = %s" $arrayname\($name\) $a($name)]
+ $puts {*}$args [format "%-${max}s = %s" $arrayname\($name\) $a($name)]
}
}