Tcl Source Code

View Ticket
Login
Ticket UUID: 311e61d12ad1eb6355c13d2d2ed4acf1c45c4557
Title: No -errorcode for command lookup failure
Type: Bug Created on: 2014-06-12 01:28:28
Submitter: andy Assigned to: dkf
Subsystem: 45. Parsing and Eval Severity: Minor
Priority: 5 Medium Last modified: 2014-06-16 09:25:54
Status: Closed Closed by: dkf
Resolution: Fixed Closed on: 2014-06-16 09:25:54
Version: 39da5e7464431971934e73e300f4d1c8a8cd72a6
Description:
Command lookup failure doesn't generate a usable -errorcode.

% catch {asdf} msg options; set options
-code 1 -level 0 -errorstack {INNER {invokeStk1 asdf}} -errorcode NONE -errorinfo {invalid command name "asdf"
    while executing
"asdf"} -errorline 1

Problem reported on the Tcler's Wiki by samoc.  http://wiki.tcl.tk/_/diff?N=36745&V=10&D=9&W=0#diff0
User Comments:
dkf added on 2014-06-16 09:19:22:

There are 5 places to fix/review.

bash$ grep 'invalid command name' */*.{c,tcl}
generic/tclBasic.c:                "invalid command name \"%s\"", TclGetString(objv[0])));
generic/tclExecute.c:		    "invalid command name \"%s\"", TclGetString(OBJ_AT_TOS)));
generic/tclNamesp.c:                "invalid command name \"%s\"", TclGetString(objv[1])));
generic/tclOODefineCmds.c:	    "invalid command name \"%s\"", soughtStr));
library/init.tcl:    return -code error "invalid command name \"$name\""


dkf added on 2014-06-16 09:22:12:

And it's only unknown in init.tcl that needs fixing. Of course.