Index: generic/nsf.c =================================================================== diff -u -r1907ffde1a2f350e2e96f3b8c55cfa36b7b97320 -rfc77eaadabdd690239694a6f1cf155a7d16b5cd4 --- generic/nsf.c (.../nsf.c) (revision 1907ffde1a2f350e2e96f3b8c55cfa36b7b97320) +++ generic/nsf.c (.../nsf.c) (revision fc77eaadabdd690239694a6f1cf155a7d16b5cd4) @@ -20982,20 +20982,12 @@ int result; result = ParamDefsParse(interp, NULL, paramsObj, - NSF_DISALLOWED_ARG_OBJECT_PARAMETER, 0, + NSF_DISALLOWED_ARG_OBJECT_PARAMETER, 1, &parsedParam); if (result != TCL_OK) { return result; } - if (parsedParam.paramDefs == NULL) { - switch (parametersubcmd) { - case ParametersubcmdNameIdx: - Tcl_SetObjResult(interp, parameterspec); - return TCL_OK; - default: return NsfPrintError(interp, "flag not implemented"); - } - } paramsPtr = parsedParam.paramDefs->paramsPtr; switch (parametersubcmd) { @@ -23333,6 +23325,23 @@ } /* +classMethod getCachedParameters NsfCGetCachendParameters { +} +*/ +static int +NsfCGetCachendParameters(Tcl_Interp *interp, NsfClass *class) { + + if (likely(class && class->parsedParamPtr)) { + Tcl_Obj *listObj; + + listObj = ListParamDefs(interp, class->parsedParamPtr->paramDefs->paramsPtr, NSF_PARAMS_PARAMETER); + Tcl_SetObjResult(interp, listObj); + DECR_REF_COUNT2("paramDefsObj", listObj); + } + return TCL_OK; +} + +/* classMethod mixinguard NsfCMixinGuardMethod { {-argName "mixin" -required 1 -type tclobj} {-argName "guard" -required 1 -type tclobj}