Description: |
interp alias is a mighty tool, but lacks introspection
capabilities that exists for procs.
info args
info default
work only for procs, not for aliases to procs.
Example of the problem:
proc foo {a b c d e} {
puts "Hello"
}
% interp create a
% interp alias a fooz {} foo
fooz
% interp eval a fooz
wrong # args: should be "foo a b c d e"
% interp eval a info args fooz
"fooz" isn't a procedure
% interp alias a fooz
foo
This makes it impossible for slave interpreters to
discover the correct number of arguments from an alias
other than by error or by asking their masters for help.
It would be really nice if at least the [info args] and
[info default] commands would work for aliased procs,
probably accounting for the change in the parameters
list possible with interp alias.
One example where this would be useful is for
tclhttpd's Direct_Url system that tries to detect
arguments by [info args] which fails for aliased in procs.
|