Artifact f8be068555f2807d49c0804380498ec89185b151:
- File
packages/ycl/lib/yclprefix.tcl
— part of check-in
[c94519ad3a]
at
2021-12-25 23:39:25
on branch trunk
— dict
new procedure
setvars
list
new procedures for ordered lists
math
new procedure
=
proc
make aliases less ycl-centric
ycl
minor cleanup
(user: pooryorick size: 937)
#! /bin/env tclsh proc yclprefix args { set myname [lindex [info level 0] 0] set body { global env set argl [llength $args] if {$argl == 0} { } elseif {$argl == 1} { set name [lindex $args 0] if {![string match ::* $name]} { return -code error [list {name must be absolute} $name] } proc [lindex [info level 0] 0] args " set prefix [list [lindex $args 0]] set body [list $body] $body " } else { return -code error "wrong # of args. Should be 0 or 1" } return $prefix } set argl [llength $args] if {$argl == 0 } { if [info exists env(YCL_PREFIX))] { set prefix $env(YCL_PREFIX) } else { set prefix ::ycl } } namespace eval [namespace qualifiers $prefix] [ list namespace export [namespace tail $prefix] ] namespace eval $prefix { namespace export {[a-z]*} namespace ensemble create } proc $myname args " set prefix [list $prefix] $body " $myname {*}$args }