Index: generic/nsf.c =================================================================== diff -u -r9ab7249b16aeb0ea906e3d614fee429edab1cfda -rbef777ff411770b97736e35a87cb23e23c7d7f83 --- generic/nsf.c (.../nsf.c) (revision 9ab7249b16aeb0ea906e3d614fee429edab1cfda) +++ generic/nsf.c (.../nsf.c) (revision bef777ff411770b97736e35a87cb23e23c7d7f83) @@ -15784,6 +15784,13 @@ Tcl_SetObjResult(interp, MethodHandleObj(regObject, withPer_object, methodName)); return TCL_OK; } + case InfomethodsubcmdOriginIdx: + { + Tcl_SetObjResult(interp, MethodHandleObj(defObject, + NsfObjectIsClass(defObject) ? withPer_object : 1, + Tcl_GetCommandName(interp, cmd))); + return TCL_OK; + } case InfomethodsubcmdExistsIdx: { Tcl_SetObjResult(interp, Tcl_NewIntObj(1)); @@ -20933,11 +20940,10 @@ /* objectInfoMethod method NsfObjInfoMethodMethod { - {-argName "infomethodsubcmd" -type "args|body|exists|definition|handle|parameter|parametersyntax|type|precondition|postcondition|subcommands"} + {-argName "infomethodsubcmd" -type "args|body|exists|definition|handle|origin|parameter|parametersyntax|type|precondition|postcondition|subcommands"} {-argName "name" -required 1 -type tclobj} } */ - static int NsfObjInfoMethodMethod(Tcl_Interp *interp, NsfObject *object, int subcmd, Tcl_Obj *methodNameObj) { @@ -21230,11 +21236,10 @@ /* classInfoMethod method NsfClassInfoMethodMethod { - {-argName "infomethodsubcmd" -type "args|body|exists|definition|handle|parameter|parametersyntax|type|precondition|postcondition|subcommands"} + {-argName "infomethodsubcmd" -type "args|body|exists|definition|handle|origin|parameter|parametersyntax|type|precondition|postcondition|subcommands"} {-argName "name" -required 1 -type tclobj} } */ - static int NsfClassInfoMethodMethod(Tcl_Interp *interp, NsfClass *class, int subcmd, Tcl_Obj *methodNameObj) { @@ -21248,8 +21253,8 @@ cmd = ResolveMethodName(interp, class->nsPtr, methodNameObj, dsPtr, ®Object, &defObject, &methodName1, &fromClassNS); /*fprintf(stderr, - "NsfClassInfoMethodMethod object %p regObject %p defObject %p fromClass %d cmd %p method %s\n", - &class->object, regObject, defObject, fromClassNS, cmd, methodName1);*/ + "NsfClassInfoMethodMethod object %p regObject %p defObject %p %s fromClass %d cmd %p method %s\n", + &class->object, regObject, defObject, ObjectName(defObject), fromClassNS, cmd, methodName1);*/ result = ListMethod(interp, regObject ? regObject : &class->object, defObject ? defObject : &class->object,