Tcl Source Code

View Ticket
Bounty program for improvements to Tcl and certain Tcl packages.
Ticket UUID: 719454
Title: Provide better alias introspection
Type: RFE Version: None
Submitter: mic42 Created on: 2003-04-11 04:02:03
Subsystem: 20. [interp] Assigned To: hobbs
Priority: 2 Severity:
Status: Open Last Modified: 2003-05-16 19:56:49
Resolution: None Closed By:
    Closed on:
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
% 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

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.
User Comments: mic42 added on 2003-05-16 19:55:17:
Logged In: YES 

The wiki now has some code for this:

Builtin would be nicer though.