aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desiredata/src/poe.tcl6
1 files changed, 6 insertions, 0 deletions
diff --git a/desiredata/src/poe.tcl b/desiredata/src/poe.tcl
index ab0cbc48..aa6f463a 100644
--- a/desiredata/src/poe.tcl
+++ b/desiredata/src/poe.tcl
@@ -35,6 +35,12 @@ set nextid 0
set _(Class:_class) Class
set _(Class:_super) {Thing}
set have_expand [expr ![catch {set a {foo bar}; list {expand}$a}]]
+
+proc correct_splat {code} {
+ if {!$::have_expand} {return $code}
+ regsub {{*}} $code {{expand}}
+}
+
proc proc* {name args body} {
set argl {}
foreach arg $args {set arg [lindex $arg 0]; lappend argl "$arg=\$$arg"}