#NOTE: info procs within namespace eval is different to 'info commands' within namespace eval (info procs doesn't look outside of namespace)
#NOTE: info procs within namespace eval is different to 'info commands' within namespace eval (info procs doesn't look outside of namespace)
set allprocs [nseval $location {::info procs}]
set allprocs [namespace eval $location {::info procs}]
#set allprocs [nseval $location {::info procs}]
set tails [lmap v $allchildren {nstail $v}]
set tails [lmap v $allchildren {nstail $v}]
set allaliases [list]
set allaliases [list]
set allensembles [list]
set allensembles [list]
@ -939,7 +943,8 @@ namespace eval punk::ns {
set interp_aliases [interp aliases ""]
set interp_aliases [interp aliases ""]
#use aliases glob - because aliases can be present with or without leading ::
#use aliases glob - because aliases can be present with or without leading ::
#NOTE: alias may not have matching command in the relevant namespce (renamed alias) so we can't just start with commands and check if it's an alias if we want to show all aliases
#NOTE: alias may not have matching command in the relevant namespce (renamed alias) so we can't just start with commands and check if it's an alias if we want to show all aliases
set raw_aliases [nseval $location [list ::aliases $glob]] ;#'aliases $glob' must be passed as list, not separate args to namespace eval.
set raw_aliases [namespace eval $location [list ::aliases $glob]] ;#'aliases $glob' must be passed as list, not separate args to namespace eval.
#set raw_aliases [nseval $location [list ::aliases $glob]] ;#'aliases $glob' must be passed as list, not separate args to namespace eval.
set aliases [list]
set aliases [list]
foreach a $raw_aliases {
foreach a $raw_aliases {
if {[string match *:: $a]} {
if {[string match *:: $a]} {
@ -1117,8 +1122,10 @@ namespace eval punk::ns {
#pipecase \
#pipecase \
# caseresult= $ns |input> { info commands ${input} }
# caseresult= $ns |input> { info commands ${input} }