Index: generic/nsf.c =================================================================== diff -u -r0b1ac7f47948c36c4e03fc3d6dbce0a04d9418d4 -r6c9eb2ec861ed79b5dedf32abe2ea26059168215 --- generic/nsf.c (.../nsf.c) (revision 0b1ac7f47948c36c4e03fc3d6dbce0a04d9418d4) +++ generic/nsf.c (.../nsf.c) (revision 6c9eb2ec861ed79b5dedf32abe2ea26059168215) @@ -25112,36 +25112,29 @@ Tcl_SetIntObj(Tcl_GetObjResult(interp), (Tcl_Command_flags(cmd) & flag) != 0); break; } - - case MethodpropertySlotobjIdx: case MethodpropertyReturnsIdx: { NsfParamDefs *paramDefs; Tcl_Obj **objPtr; - if (valueObj == NULL && methodproperty == MethodpropertySlotobjIdx) { - return NsfPrintError(interp, "option 'slotobj' of method '%s' requires argument", - methodName); - } - paramDefs = ParamDefsGet(cmd, NULL); /*fprintf(stderr, "MethodProperty, ParamDefsGet cmd %p paramDefs %p returns %p\n", cmd, paramDefs, (paramDefs != NULL) ?paramDefs->returns:NULL);*/ if (valueObj == NULL) { - /* a query for "returns" or "slotobj" */ + /* a query for "returns" */ Tcl_Obj *resultObj; if (paramDefs == NULL) { resultObj = NsfGlobalObjs[NSF_EMPTY]; } else { - objPtr = methodproperty == MethodpropertySlotobjIdx ? ¶mDefs->slotObj : ¶mDefs->returns; + objPtr = ¶mDefs->returns; resultObj = *objPtr ? *objPtr : NsfGlobalObjs[NSF_EMPTY]; } Tcl_SetObjResult(interp, resultObj); } else { - /* setting "returns" or "slotobj" */ + /* setting "returns" */ const char *valueString = ObjStr(valueObj); if (paramDefs == NULL) { @@ -25150,10 +25143,9 @@ ParamDefsStore(interp, cmd, paramDefs, 0); /*fprintf(stderr, "new param definitions %p for cmd %p %s\n", paramDefs, cmd, methodName);*/ } - objPtr = - methodproperty == MethodpropertySlotobjIdx ? - ¶mDefs->slotObj : ¶mDefs->returns; + objPtr = ¶mDefs->returns; + /* Set a new value; if there is already a value, free it */ if (*objPtr) { DECR_REF_COUNT2("paramDefsObj", *objPtr);