Posted to tcl by kbk at Wed Oct 17 20:06:11 GMT 2012view pretty

proc inNS {namespace command} {
    if {$ns eq {}} {
	tailcall $command
    }
    set q [namespace qualifiers $namespace]
    if {$q eq {}} {
	tailcall namespace eval $namespace $command
    }
    tailcall inNS $q \
	[list namespace eval [namespace tail $namespace] $command]
}
inNS foo::bar::grill {set zot 1}
puts $foo::bar::grill::zot