Index: generic/nsfError.c =================================================================== diff -u -rf177b4dbbb589f91704b1acb8dfbd91fc076335a -r2ba521e3dfbb1294908b51ed8e13dab5adc3ca03 --- generic/nsfError.c (.../nsfError.c) (revision f177b4dbbb589f91704b1acb8dfbd91fc076335a) +++ generic/nsfError.c (.../nsfError.c) (revision 2ba521e3dfbb1294908b51ed8e13dab5adc3ca03) @@ -220,8 +220,38 @@ /* *---------------------------------------------------------------------- * - * NsfNoDispatchObjectError -- + * NsfUnexpectedArgumentError -- * + * Produce a unexpecte argument number (most likely, too many arguments) + * + * Results: + * TCL_ERROR + * + * Side effects: + * Sets the result message. + * + *---------------------------------------------------------------------- + */ +extern int +NsfUnexpectedArgumentError(Tcl_Interp *interp, CONST char *argumentString, + Nsf_Object *object, Nsf_Param CONST *paramPtr, Tcl_Obj *procNameObj) { + Tcl_DString ds, *dsPtr = &ds; + DSTRING_INIT(dsPtr); + Tcl_DStringAppend(dsPtr, "Invalid argument '", -1); + Tcl_DStringAppend(dsPtr, argumentString, -1); + Tcl_DStringAppend(dsPtr, "', maybe too many arguments;", -1); + NsfArgumentError(interp, Tcl_DStringValue(dsPtr), paramPtr, + object ? object->cmdName : NULL, + procNameObj); + DSTRING_FREE(dsPtr); + return TCL_ERROR; +} + +/* + *---------------------------------------------------------------------- + * + * NsfDispatchClientDataError -- + * * Produce a error message when method was not dispatched on an object * * Results: @@ -246,9 +276,10 @@ /* *---------------------------------------------------------------------- * - * NsfNoDispatchObjectError -- + * NsfNoCurrentObjectError -- * - * Produce a error message when method was not dispatched on an object + * Produce a error message when method was called outside the context of + * a method * * Results: * TCL_ERROR