Index: TODO =================================================================== diff -u -rf0295d889aaf71709c63243685897dc3f11048f1 -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- TODO (.../TODO) (revision f0295d889aaf71709c63243685897dc3f11048f1) +++ TODO (.../TODO) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -2049,6 +2049,9 @@ - made error messages more consistent - improved error messages for "returns" and "nsf::is" (omit parameter name) +- streamlined error messages +- removed NsfErrBadVal() and replaced it with a generalized version of NsfObjErrType() + TODO: - check performance implications of value conflict checker Index: generic/gentclAPI.tcl =================================================================== diff -u -rf0295d889aaf71709c63243685897dc3f11048f1 -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision f0295d889aaf71709c63243685897dc3f11048f1) +++ generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -92,14 +92,14 @@ set if [list "NsfClass *cl"] append intro \ " NsfClass *cl = NsfObjectToClass(clientData);" \n \ - { if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL);} + { if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL);} } object { set a [list obj] set if [list "NsfObject *obj"] append intro \ " NsfObject *obj = (NsfObject *)clientData;" \n \ - { if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL);} + { if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL);} } "" { set a [list] Index: generic/nsf.c =================================================================== diff -u -rf0295d889aaf71709c63243685897dc3f11048f1 -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- generic/nsf.c (.../nsf.c) (revision f0295d889aaf71709c63243685897dc3f11048f1) +++ generic/nsf.c (.../nsf.c) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -4440,9 +4440,8 @@ } if (GetClassFromObj(interp, nameObj, &mixin, baseClass) != TCL_OK) - return NsfErrBadVal(interp, "mixin", "a class as mixin", ObjStr(nameObj)); + return NsfObjErrType(interp, "mixin", nameObj, "a class as mixin", NULL); - new = CmdListAdd(mixinList, mixin->object.id, NULL, /*noDuplicates*/ 1); if (guardObj) { @@ -6113,8 +6112,7 @@ for (i = 0; i < oc; i++) { if (GetClassFromObj(interp, ov[i], &scl[i], baseClass) != TCL_OK) { FREE(NsfClass**, scl); - return NsfErrBadVal(interp, "superclass", "a list of classes", - ObjStr(arg)); + return NsfObjErrType(interp, "superclass", arg, "a list of classes", NULL); } } @@ -6136,7 +6134,7 @@ } if (reversed) { - return NsfErrBadVal(interp, "superclass", "classes in dependence order", ObjStr(arg)); + return NsfObjErrType(interp, "superclass", arg, "classes in dependence order", NULL); } while (cl->super) { @@ -6167,16 +6165,19 @@ while (cl->super) (void)RemoveSuper(cl, cl->super->cl); for (l = osl; l; l = l->nextPtr) AddSuper(cl, l->cl); NsfClassListFree(osl); - return NsfErrBadVal(interp, "superclass", "a cycle-free graph", ObjStr(arg)); + return NsfObjErrType(interp, "superclass", arg, "a cycle-free graph", NULL); } NsfClassListFree(osl); /* if there are no more super classes add the Object class as superclasses */ + assert(cl->super); +#if 0 if (cl->super == NULL) { fprintf(stderr, "SuperClassAdd super of '%s' is NULL\n", ClassName(cl)); /*AddSuper(cl, RUNTIME_STATE(interp)->theObject);*/ } +#endif Tcl_ResetResult(interp); return TCL_OK; @@ -7963,7 +7964,7 @@ if (success == 1) { *clientData = (ClientData)objPtr; } else { - result = NsfObjErrType(interp, objPtr, ObjStr(pPtr->converterArg), (Nsf_Param *)pPtr); + result = NsfObjErrType(interp, NULL, objPtr, ObjStr(pPtr->converterArg), (Nsf_Param *)pPtr); } } } else { @@ -8003,7 +8004,7 @@ if (result == TCL_OK) { *clientData = (ClientData)INT2PTR(bool); } else { - NsfObjErrType(interp, objPtr, "boolean", (Nsf_Param *)pPtr); + NsfObjErrType(interp, NULL, objPtr, "boolean", (Nsf_Param *)pPtr); } *outObjPtr = objPtr; return result; @@ -8020,7 +8021,7 @@ *clientData = (ClientData)INT2PTR(i); *outObjPtr = objPtr; } else { - NsfObjErrType(interp, objPtr, "integer", (Nsf_Param *)pPtr); + NsfObjErrType(interp, NULL, objPtr, "integer", (Nsf_Param *)pPtr); } return result; } @@ -8061,7 +8062,7 @@ Tcl_DStringAppend(dsPtr, " of type ", -1); Tcl_DStringAppend(dsPtr, ObjStr(pPtr->converterArg), -1); } - NsfObjErrType(interp, objPtr, Tcl_DStringValue(dsPtr), (Nsf_Param *)pPtr); + NsfObjErrType(interp, NULL, objPtr, Tcl_DStringValue(dsPtr), (Nsf_Param *)pPtr); DSTRING_FREE(dsPtr); return TCL_ERROR; @@ -8074,7 +8075,7 @@ if (GetObjectFromObj(interp, objPtr, (NsfObject **)clientData) == TCL_OK) { return IsObjectOfType(interp, (NsfObject *)*clientData, "object", objPtr, pPtr); } - return NsfObjErrType(interp, objPtr, "object", (Nsf_Param *)pPtr); + return NsfObjErrType(interp, NULL, objPtr, "object", (Nsf_Param *)pPtr); } static int @@ -8084,7 +8085,7 @@ if (GetClassFromObj(interp, objPtr, (NsfClass **)clientData, NULL) == TCL_OK) { return IsObjectOfType(interp, (NsfObject *)*clientData, "class", objPtr, pPtr); } - return NsfObjErrType(interp, objPtr, "class", (Nsf_Param *)pPtr); + return NsfObjErrType(interp, NULL, objPtr, "class", (Nsf_Param *)pPtr); } static int @@ -8106,7 +8107,7 @@ *outObjPtr = objPtr; /*fprintf(stderr, "convert to parameter '%s' t '%s'\n", value, pPtr->type);*/ if (*value == ':' || (*value == '-' && *(value + 1) == ':')) { - return NsfObjErrType(interp, objPtr, pPtr->type, (Nsf_Param *)pPtr); + return NsfObjErrType(interp, NULL, objPtr, pPtr->type, (Nsf_Param *)pPtr); } *clientData = (char *)ObjStr(objPtr); @@ -10969,7 +10970,7 @@ SetterCmdClientData *cd = (SetterCmdClientData*)clientData; NsfObject *object = cd->object; - if (!object) return NsfObjErrType(interp, objv[0], "object", NULL); + if (!object) return NsfObjErrType(interp, "setter", objv[0], "object", NULL); if (objc > 2) return NsfObjWrongArgs(interp, "wrong # args", object->cmdName, objv[0], "?value?"); if (cd->paramsPtr && objc == 2) { @@ -11251,7 +11252,7 @@ ForwardCmdClientData *tcd = (ForwardCmdClientData *)clientData; int result, j, inputArg = 1, outputArg = 0; - if (!tcd || !tcd->object) return NsfObjErrType(interp, objv[0], "object", NULL); + if (!tcd || !tcd->object) return NsfObjErrType(interp, "forwarder", objv[0], "object", NULL); if (tcd->passthrough) { /* two short cuts for simple cases */ /* early binding, cmd *resolved, we have to care only for objscope */ @@ -12129,12 +12130,17 @@ static int ListProcBody(Tcl_Interp *interp, Proc *procPtr, CONST char *methodName) { + Tcl_Obj *methodObj; if (procPtr) { CONST char *body = ObjStr(procPtr->bodyPtr); Tcl_SetObjResult(interp, Tcl_NewStringObj(StripBodyPrefix(body), -1)); return TCL_OK; } - return NsfErrBadVal(interp, "info body", "a tcl method name", methodName); + methodObj = Tcl_NewStringObj(methodName, -1); + INCR_REF_COUNT(methodObj); + NsfObjErrType(interp, "info body", methodObj, "a name of a scriped method", NULL); + DECR_REF_COUNT(methodObj); + return TCL_ERROR; } static Tcl_Obj * @@ -12244,7 +12250,14 @@ return TCL_OK; } } - return NsfErrBadVal(interp, "info params", "a method name", methodName); + + { + Tcl_Obj *methodObj = Tcl_NewStringObj(methodName, -1); + INCR_REF_COUNT(methodObj); + NsfObjErrType(interp, "info params", methodObj, "a method name", NULL); + DECR_REF_COUNT(methodObj); + } + return TCL_ERROR; } static void @@ -14479,7 +14492,7 @@ case RelationtypeSuperclassIdx: if (!NsfObjectIsClass(object)) - return NsfObjErrType(interp, object->cmdName, "class", NULL); + return NsfObjErrType(interp, "superclass", object->cmdName, "class", NULL); cl = (NsfClass *)object; if (valueObj == NULL) { return ListSuperclasses(interp, cl, NULL, 0); @@ -14494,22 +14507,22 @@ return TCL_OK; } GetClassFromObj(interp, valueObj, &cl, object->cl); - if (!cl) return NsfErrBadVal(interp, "class", "a class", ObjectName(object)); + if (!cl) return NsfObjErrType(interp, "class", object->cmdName, "a class", NULL); return ChangeClass(interp, object, cl); case RelationtypeRootclassIdx: { NsfClass *metaClass; if (!NsfObjectIsClass(object)) - return NsfObjErrType(interp, object->cmdName, "class", NULL); + return NsfObjErrType(interp, "rootclass", object->cmdName, "class", NULL); cl = (NsfClass *)object; if (valueObj == NULL) { return NsfPrintError(interp, "metaclass must be specified as third argument"); } GetClassFromObj(interp, valueObj, &metaClass, NULL); - if (!metaClass) return NsfObjErrType(interp, valueObj, "class", NULL); + if (!metaClass) return NsfObjErrType(interp, "rootclass", valueObj, "class", NULL); cl->object.flags |= NSF_IS_ROOT_CLASS; metaClass->object.flags |= NSF_IS_ROOT_META_CLASS; Index: generic/nsf.decls =================================================================== diff -u -rf0295d889aaf71709c63243685897dc3f11048f1 -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- generic/nsf.decls (.../nsf.decls) (revision f0295d889aaf71709c63243685897dc3f11048f1) +++ generic/nsf.decls (.../nsf.decls) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -50,26 +50,26 @@ } declare 9 generic { Tcl_Obj *NsfOSetInstVar(struct Nsf_Object *obj, Tcl_Interp *interp, - Tcl_Obj *name, Tcl_Obj *value, int flgs) + Tcl_Obj *name, Tcl_Obj *value, int flgs) } declare 10 generic { Tcl_Obj *NsfOGetInstVar(struct Nsf_Object *obj, Tcl_Interp *interp, - Tcl_Obj *name, int flgs) + Tcl_Obj *name, int flgs) } declare 11 generic { Tcl_Obj *Nsf_ObjSetVar2(struct Nsf_Object *obj, - Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, - Tcl_Obj *value, int flgs) + Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, + Tcl_Obj *value, int flgs) } declare 12 generic { Tcl_Obj *Nsf_ObjGetVar2(struct Nsf_Object *obj, - Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, - int flgs) + Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, + int flgs) } declare 13 generic { int NsfUnsetInstVar2(struct Nsf_Object *obj, Tcl_Interp *interp, - CONST char *name1, CONST char *name2, - int flgs) + CONST char *name1, CONST char *name2, + int flgs) } declare 14 generic { void NsfDStringPrintf(Tcl_DString *dsPtr, CONST char *fmt, va_list apSrc) @@ -79,10 +79,11 @@ } declare 16 generic { int NsfErrInProc (Tcl_Interp *interp, Tcl_Obj *objName, - Tcl_Obj *clName, CONST char *procName) + Tcl_Obj *clName, CONST char *procName) } declare 17 generic { - int NsfObjErrType(Tcl_Interp *interp, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr) + int NsfObjErrType(Tcl_Interp *interp, CONST char *context, + Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr) } declare 18 generic { void NsfStackDump (Tcl_Interp *interp) @@ -103,27 +104,24 @@ void NsfRequireObjNamespace(Tcl_Interp *interp, Nsf_Object *obj) } declare 24 generic { - int NsfErrBadVal(Tcl_Interp *interp, char *context, char *expected, CONST char *value) -} -declare 25 generic { int NsfNextObjCmd(ClientData cd, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) } -declare 26 generic { +declare 25 generic { int NsfCallMethodWithArgs(ClientData cd, Tcl_Interp *interp, Tcl_Obj *method, Tcl_Obj *arg, int objc, Tcl_Obj *CONST objv[], int flags) } -declare 27 generic { +declare 26 generic { int NsfAddObjectMethod(Tcl_Interp *interp, struct Nsf_Object *obj, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags) } -declare 28 generic { +declare 27 generic { int NsfAddClassMethod(Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags) } -declare 29 generic { +declare 28 generic { int NsfCreate(Tcl_Interp *in, Nsf_Class *class, Tcl_Obj *name, ClientData data, - int objc, Tcl_Obj *CONST objv[]) + int objc, Tcl_Obj *CONST objv[]) } Index: generic/nsfDecls.h =================================================================== diff -u -rf0295d889aaf71709c63243685897dc3f11048f1 -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- generic/nsfDecls.h (.../nsfDecls.h) (revision f0295d889aaf71709c63243685897dc3f11048f1) +++ generic/nsfDecls.h (.../nsfDecls.h) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -124,7 +124,8 @@ #ifndef NsfObjErrType_TCL_DECLARED #define NsfObjErrType_TCL_DECLARED /* 17 */ -EXTERN int NsfObjErrType(Tcl_Interp *interp, Tcl_Obj *value, +EXTERN int NsfObjErrType(Tcl_Interp *interp, + CONST char *context, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr); #endif #ifndef NsfStackDump_TCL_DECLARED @@ -158,45 +159,39 @@ EXTERN void NsfRequireObjNamespace(Tcl_Interp *interp, Nsf_Object *obj); #endif -#ifndef NsfErrBadVal_TCL_DECLARED -#define NsfErrBadVal_TCL_DECLARED -/* 24 */ -EXTERN int NsfErrBadVal(Tcl_Interp *interp, char *context, - char *expected, CONST char *value); -#endif #ifndef NsfNextObjCmd_TCL_DECLARED #define NsfNextObjCmd_TCL_DECLARED -/* 25 */ +/* 24 */ EXTERN int NsfNextObjCmd(ClientData cd, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); #endif #ifndef NsfCallMethodWithArgs_TCL_DECLARED #define NsfCallMethodWithArgs_TCL_DECLARED -/* 26 */ +/* 25 */ EXTERN int NsfCallMethodWithArgs(ClientData cd, Tcl_Interp *interp, Tcl_Obj *method, Tcl_Obj *arg, int objc, Tcl_Obj *CONST objv[], int flags); #endif #ifndef NsfAddObjectMethod_TCL_DECLARED #define NsfAddObjectMethod_TCL_DECLARED -/* 27 */ +/* 26 */ EXTERN int NsfAddObjectMethod(Tcl_Interp *interp, struct Nsf_Object *obj, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); #endif #ifndef NsfAddClassMethod_TCL_DECLARED #define NsfAddClassMethod_TCL_DECLARED -/* 28 */ +/* 27 */ EXTERN int NsfAddClassMethod(Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); #endif #ifndef NsfCreate_TCL_DECLARED #define NsfCreate_TCL_DECLARED -/* 29 */ +/* 28 */ EXTERN int NsfCreate(Tcl_Interp *in, Nsf_Class *class, Tcl_Obj *name, ClientData data, int objc, Tcl_Obj *CONST objv[]); @@ -227,19 +222,18 @@ void (*nsfDStringPrintf) (Tcl_DString *dsPtr, CONST char *fmt, va_list apSrc); /* 14 */ int (*nsfPrintError) (Tcl_Interp *interp, CONST char *fmt, ...); /* 15 */ int (*nsfErrInProc) (Tcl_Interp *interp, Tcl_Obj *objName, Tcl_Obj *clName, CONST char *procName); /* 16 */ - int (*nsfObjErrType) (Tcl_Interp *interp, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr); /* 17 */ + int (*nsfObjErrType) (Tcl_Interp *interp, CONST char *context, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr); /* 17 */ void (*nsfStackDump) (Tcl_Interp *interp); /* 18 */ void (*nsfSetObjClientData) (Nsf_Object *obj, ClientData data); /* 19 */ ClientData (*nsfGetObjClientData) (Nsf_Object *obj); /* 20 */ void (*nsfSetClassClientData) (Nsf_Class *cl, ClientData data); /* 21 */ ClientData (*nsfGetClassClientData) (Nsf_Class *cl); /* 22 */ void (*nsfRequireObjNamespace) (Tcl_Interp *interp, Nsf_Object *obj); /* 23 */ - int (*nsfErrBadVal) (Tcl_Interp *interp, char *context, char *expected, CONST char *value); /* 24 */ - int (*nsfNextObjCmd) (ClientData cd, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); /* 25 */ - int (*nsfCallMethodWithArgs) (ClientData cd, Tcl_Interp *interp, Tcl_Obj *method, Tcl_Obj *arg, int objc, Tcl_Obj *CONST objv[], int flags); /* 26 */ - int (*nsfAddObjectMethod) (Tcl_Interp *interp, struct Nsf_Object *obj, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); /* 27 */ - int (*nsfAddClassMethod) (Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); /* 28 */ - int (*nsfCreate) (Tcl_Interp *in, Nsf_Class *class, Tcl_Obj *name, ClientData data, int objc, Tcl_Obj *CONST objv[]); /* 29 */ + int (*nsfNextObjCmd) (ClientData cd, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); /* 24 */ + int (*nsfCallMethodWithArgs) (ClientData cd, Tcl_Interp *interp, Tcl_Obj *method, Tcl_Obj *arg, int objc, Tcl_Obj *CONST objv[], int flags); /* 25 */ + int (*nsfAddObjectMethod) (Tcl_Interp *interp, struct Nsf_Object *obj, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); /* 26 */ + int (*nsfAddClassMethod) (Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); /* 27 */ + int (*nsfCreate) (Tcl_Interp *in, Nsf_Class *class, Tcl_Obj *name, ClientData data, int objc, Tcl_Obj *CONST objv[]); /* 28 */ } NsfStubs; #ifdef __cplusplus @@ -349,29 +343,25 @@ #define NsfRequireObjNamespace \ (nsfStubsPtr->nsfRequireObjNamespace) /* 23 */ #endif -#ifndef NsfErrBadVal -#define NsfErrBadVal \ - (nsfStubsPtr->nsfErrBadVal) /* 24 */ -#endif #ifndef NsfNextObjCmd #define NsfNextObjCmd \ - (nsfStubsPtr->nsfNextObjCmd) /* 25 */ + (nsfStubsPtr->nsfNextObjCmd) /* 24 */ #endif #ifndef NsfCallMethodWithArgs #define NsfCallMethodWithArgs \ - (nsfStubsPtr->nsfCallMethodWithArgs) /* 26 */ + (nsfStubsPtr->nsfCallMethodWithArgs) /* 25 */ #endif #ifndef NsfAddObjectMethod #define NsfAddObjectMethod \ - (nsfStubsPtr->nsfAddObjectMethod) /* 27 */ + (nsfStubsPtr->nsfAddObjectMethod) /* 26 */ #endif #ifndef NsfAddClassMethod #define NsfAddClassMethod \ - (nsfStubsPtr->nsfAddClassMethod) /* 28 */ + (nsfStubsPtr->nsfAddClassMethod) /* 27 */ #endif #ifndef NsfCreate #define NsfCreate \ - (nsfStubsPtr->nsfCreate) /* 29 */ + (nsfStubsPtr->nsfCreate) /* 28 */ #endif #endif /* defined(USE_NSF_STUBS) && !defined(USE_NSF_STUB_PROCS) */ Index: generic/nsfError.c =================================================================== diff -u -rf0295d889aaf71709c63243685897dc3f11048f1 -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- generic/nsfError.c (.../nsfError.c) (revision f0295d889aaf71709c63243685897dc3f11048f1) +++ generic/nsfError.c (.../nsfError.c) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -133,23 +133,23 @@ return TCL_ERROR; } -int -NsfErrBadVal(Tcl_Interp *interp, char *context, char *expected, CONST char *value) { - Tcl_ResetResult(interp); - Tcl_AppendResult(interp, context, ": expected ", expected, " but got '", - value, "'", (char *) NULL); - return TCL_ERROR; -} - extern int -NsfObjErrType(Tcl_Interp *interp, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr) { +NsfObjErrType(Tcl_Interp *interp, + CONST char *context, + Tcl_Obj *value, + CONST char *type, + Nsf_Param CONST *pPtr) +{ NsfParam *paramPtr = (NsfParam *)pPtr; int named = (paramPtr && (paramPtr->flags & NSF_ARG_UNNAMED) == 0); - int returnValue = !named && (paramPtr->flags & NSF_ARG_IS_RETURNVALUE); + int returnValue = !named && paramPtr && (paramPtr->flags & NSF_ARG_IS_RETURNVALUE); /*fprintf(stderr, "NsfObjErrType param %p named %d\n", paramPtr, named);*/ Tcl_ResetResult(interp); + if (context) { + Tcl_AppendResult(interp, context, ":", (char *) NULL); + } Tcl_AppendResult(interp,"expected ", type, " but got \"", ObjStr(value), "\"", (char *) NULL); if (named) { Tcl_AppendResult(interp," for parameter \"", paramPtr->name, "\"", (char *) NULL); Index: generic/nsfStubInit.c =================================================================== diff -u -rbb18837f55b64ecdaf970c9e77624bc30f4c417a -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- generic/nsfStubInit.c (.../nsfStubInit.c) (revision bb18837f55b64ecdaf970c9e77624bc30f4c417a) +++ generic/nsfStubInit.c (.../nsfStubInit.c) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -60,12 +60,11 @@ NsfSetClassClientData, /* 21 */ NsfGetClassClientData, /* 22 */ NsfRequireObjNamespace, /* 23 */ - NsfErrBadVal, /* 24 */ - NsfNextObjCmd, /* 25 */ - NsfCallMethodWithArgs, /* 26 */ - NsfAddObjectMethod, /* 27 */ - NsfAddClassMethod, /* 28 */ - NsfCreate, /* 29 */ + NsfNextObjCmd, /* 24 */ + NsfCallMethodWithArgs, /* 25 */ + NsfAddObjectMethod, /* 26 */ + NsfAddClassMethod, /* 27 */ + NsfCreate, /* 28 */ }; /* !END!: Do not edit above this line. */ Index: generic/tclAPI.h =================================================================== diff -u -rf0295d889aaf71709c63243685897dc3f11048f1 -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- generic/tclAPI.h (.../tclAPI.h) (revision f0295d889aaf71709c63243685897dc3f11048f1) +++ generic/tclAPI.h (.../tclAPI.h) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -445,7 +445,7 @@ static int NsfCAllocMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (objc != 2) { @@ -462,7 +462,7 @@ NsfCCreateMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfCCreateMethodIdx].paramDefs, method_definitions[NsfCCreateMethodIdx].nrParameters, 1, @@ -480,7 +480,7 @@ static int NsfCDeallocMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (objc != 2) { @@ -497,7 +497,7 @@ NsfCFilterGuardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfCFilterGuardMethodIdx].paramDefs, method_definitions[NsfCFilterGuardMethodIdx].nrParameters, 1, @@ -517,7 +517,7 @@ NsfCMixinGuardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfCMixinGuardMethodIdx].paramDefs, method_definitions[NsfCMixinGuardMethodIdx].nrParameters, 1, @@ -537,7 +537,7 @@ NsfCNewMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfCNewMethodIdx].paramDefs, method_definitions[NsfCNewMethodIdx].nrParameters, 1, @@ -556,7 +556,7 @@ NsfCRecreateMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfCRecreateMethodIdx].paramDefs, method_definitions[NsfCRecreateMethodIdx].nrParameters, 1, @@ -575,7 +575,7 @@ NsfClassInfoFilterguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoFilterguardMethodIdx].paramDefs, method_definitions[NsfClassInfoFilterguardMethodIdx].nrParameters, 1, @@ -594,7 +594,7 @@ NsfClassInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoFiltermethodsMethodIdx].paramDefs, method_definitions[NsfClassInfoFiltermethodsMethodIdx].nrParameters, 1, @@ -614,7 +614,7 @@ NsfClassInfoForwardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoForwardMethodIdx].paramDefs, method_definitions[NsfClassInfoForwardMethodIdx].nrParameters, 1, @@ -634,7 +634,7 @@ NsfClassInfoHeritageMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoHeritageMethodIdx].paramDefs, method_definitions[NsfClassInfoHeritageMethodIdx].nrParameters, 1, @@ -653,7 +653,7 @@ NsfClassInfoInstancesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoInstancesMethodIdx].paramDefs, method_definitions[NsfClassInfoInstancesMethodIdx].nrParameters, 1, @@ -687,7 +687,7 @@ NsfClassInfoMethodMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoMethodMethodIdx].paramDefs, method_definitions[NsfClassInfoMethodMethodIdx].nrParameters, 1, @@ -707,7 +707,7 @@ NsfClassInfoMethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoMethodsMethodIdx].paramDefs, method_definitions[NsfClassInfoMethodsMethodIdx].nrParameters, 1, @@ -731,7 +731,7 @@ NsfClassInfoMixinOfMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoMixinOfMethodIdx].paramDefs, method_definitions[NsfClassInfoMixinOfMethodIdx].nrParameters, 1, @@ -766,7 +766,7 @@ NsfClassInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoMixinclassesMethodIdx].paramDefs, method_definitions[NsfClassInfoMixinclassesMethodIdx].nrParameters, 1, @@ -801,7 +801,7 @@ NsfClassInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoMixinguardMethodIdx].paramDefs, method_definitions[NsfClassInfoMixinguardMethodIdx].nrParameters, 1, @@ -820,7 +820,7 @@ NsfClassInfoSubclassMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoSubclassMethodIdx].paramDefs, method_definitions[NsfClassInfoSubclassMethodIdx].nrParameters, 1, @@ -854,7 +854,7 @@ NsfClassInfoSuperclassMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); - if (!cl) return NsfObjErrType(interp, objv[0], "Class", NULL); + if (!cl) return NsfObjErrType(interp, NULL, objv[0], "Class", NULL); if (ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], method_definitions[NsfClassInfoSuperclassMethodIdx].paramDefs, method_definitions[NsfClassInfoSuperclassMethodIdx].nrParameters, 1, @@ -1412,7 +1412,7 @@ NsfOAutonameMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfOAutonameMethodIdx].paramDefs, method_definitions[NsfOAutonameMethodIdx].nrParameters, 1, @@ -1432,7 +1432,7 @@ static int NsfOCleanupMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 1) { @@ -1448,7 +1448,7 @@ static int NsfOConfigureMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); return NsfOConfigureMethod(interp, obj, objc, objv); @@ -1458,7 +1458,7 @@ static int NsfODestroyMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 1) { @@ -1475,7 +1475,7 @@ NsfOExistsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfOExistsMethodIdx].paramDefs, method_definitions[NsfOExistsMethodIdx].nrParameters, 1, @@ -1494,7 +1494,7 @@ NsfOFilterGuardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfOFilterGuardMethodIdx].paramDefs, method_definitions[NsfOFilterGuardMethodIdx].nrParameters, 1, @@ -1513,7 +1513,7 @@ static int NsfOInstvarMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); return NsfOInstvarMethod(interp, obj, objc, objv); @@ -1524,7 +1524,7 @@ NsfOMixinGuardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfOMixinGuardMethodIdx].paramDefs, method_definitions[NsfOMixinGuardMethodIdx].nrParameters, 1, @@ -1543,7 +1543,7 @@ static int NsfONoinitMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 1) { @@ -1559,7 +1559,7 @@ static int NsfORequireNamespaceMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 1) { @@ -1575,7 +1575,7 @@ static int NsfOResidualargsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); return NsfOResidualargsMethod(interp, obj, objc, objv); @@ -1585,7 +1585,7 @@ static int NsfOUplevelMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); return NsfOUplevelMethod(interp, obj, objc, objv); @@ -1595,7 +1595,7 @@ static int NsfOUpvarMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); return NsfOUpvarMethod(interp, obj, objc, objv); @@ -1605,7 +1605,7 @@ static int NsfOVolatileMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 1) { @@ -1622,7 +1622,7 @@ NsfOVwaitMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfOVwaitMethodIdx].paramDefs, method_definitions[NsfOVwaitMethodIdx].nrParameters, 1, @@ -1641,7 +1641,7 @@ NsfObjInfoChildrenMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoChildrenMethodIdx].paramDefs, method_definitions[NsfObjInfoChildrenMethodIdx].nrParameters, 1, @@ -1660,7 +1660,7 @@ static int NsfObjInfoClassMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 1) { @@ -1677,7 +1677,7 @@ NsfObjInfoFilterguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoFilterguardMethodIdx].paramDefs, method_definitions[NsfObjInfoFilterguardMethodIdx].nrParameters, 1, @@ -1696,7 +1696,7 @@ NsfObjInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoFiltermethodsMethodIdx].paramDefs, method_definitions[NsfObjInfoFiltermethodsMethodIdx].nrParameters, 1, @@ -1717,7 +1717,7 @@ NsfObjInfoForwardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoForwardMethodIdx].paramDefs, method_definitions[NsfObjInfoForwardMethodIdx].nrParameters, 1, @@ -1737,7 +1737,7 @@ NsfObjInfoHasMixinMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoHasMixinMethodIdx].paramDefs, method_definitions[NsfObjInfoHasMixinMethodIdx].nrParameters, 1, @@ -1756,7 +1756,7 @@ NsfObjInfoHasTypeMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoHasTypeMethodIdx].paramDefs, method_definitions[NsfObjInfoHasTypeMethodIdx].nrParameters, 1, @@ -1774,7 +1774,7 @@ static int NsfObjInfoHasnamespaceMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 1) { @@ -1791,7 +1791,7 @@ NsfObjInfoIsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoIsMethodIdx].paramDefs, method_definitions[NsfObjInfoIsMethodIdx].nrParameters, 1, @@ -1810,7 +1810,7 @@ NsfObjInfoLookupFilterMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoLookupFilterMethodIdx].paramDefs, method_definitions[NsfObjInfoLookupFilterMethodIdx].nrParameters, 1, @@ -1828,7 +1828,7 @@ static int NsfObjInfoLookupMethodMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 2) { @@ -1845,7 +1845,7 @@ NsfObjInfoLookupMethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoLookupMethodsMethodIdx].paramDefs, method_definitions[NsfObjInfoLookupMethodsMethodIdx].nrParameters, 1, @@ -1870,7 +1870,7 @@ NsfObjInfoLookupSlotsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoLookupSlotsMethodIdx].paramDefs, method_definitions[NsfObjInfoLookupSlotsMethodIdx].nrParameters, 1, @@ -1889,7 +1889,7 @@ NsfObjInfoMethodMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoMethodMethodIdx].paramDefs, method_definitions[NsfObjInfoMethodMethodIdx].nrParameters, 1, @@ -1909,7 +1909,7 @@ NsfObjInfoMethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoMethodsMethodIdx].paramDefs, method_definitions[NsfObjInfoMethodsMethodIdx].nrParameters, 1, @@ -1933,7 +1933,7 @@ NsfObjInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoMixinclassesMethodIdx].paramDefs, method_definitions[NsfObjInfoMixinclassesMethodIdx].nrParameters, 1, @@ -1968,7 +1968,7 @@ NsfObjInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoMixinguardMethodIdx].paramDefs, method_definitions[NsfObjInfoMixinguardMethodIdx].nrParameters, 1, @@ -1986,7 +1986,7 @@ static int NsfObjInfoParentMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (objc != 1) { @@ -2003,7 +2003,7 @@ NsfObjInfoPrecedenceMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoPrecedenceMethodIdx].paramDefs, method_definitions[NsfObjInfoPrecedenceMethodIdx].nrParameters, 1, @@ -2023,7 +2023,7 @@ NsfObjInfoVarsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; - if (!obj) return NsfObjErrType(interp, objv[0], "Object", NULL); + if (!obj) return NsfObjErrType(interp, NULL, objv[0], "Object", NULL); if (ArgumentParse(interp, objc, objv, obj, objv[0], method_definitions[NsfObjInfoVarsMethodIdx].paramDefs, method_definitions[NsfObjInfoVarsMethodIdx].nrParameters, 1,