Index: generic/tclAPI.h =================================================================== diff -u -r652147d4e1a22b381b2ca9e6354f52e1d8050c61 -r108d81ec266a27d011953bdc6b7d8b32eb0afcc7 --- generic/tclAPI.h (.../tclAPI.h) (revision 652147d4e1a22b381b2ca9e6354f52e1d8050c61) +++ generic/tclAPI.h (.../tclAPI.h) (revision 108d81ec266a27d011953bdc6b7d8b32eb0afcc7) @@ -110,6 +110,7 @@ static int XOTclOVolatileMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclOVwaitMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclAliasCmdStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); +static int XOTclMyCmdStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclRelationCmdStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclSetInstvarCmdStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); @@ -205,6 +206,7 @@ static int XOTclOVolatileMethod(Tcl_Interp *interp, XOTclObject *obj); static int XOTclOVwaitMethod(Tcl_Interp *interp, XOTclObject *obj, char *varname); static int XOTclAliasCmd(Tcl_Interp *interp, XOTclObject *object, char *methodName, int withObjscope, int withPer_object, int withProtected, Tcl_Obj *cmdName); +static int XOTclMyCmd(Tcl_Interp *interp, int withLocal, Tcl_Obj *method, int nobjc, Tcl_Obj *CONST nobjv[]); static int XOTclRelationCmd(Tcl_Interp *interp, XOTclObject *object, Tcl_Obj *reltype, Tcl_Obj *value); static int XOTclSetInstvarCmd(Tcl_Interp *interp, XOTclObject *object, Tcl_Obj *variable, Tcl_Obj *value); @@ -301,6 +303,7 @@ XOTclOVolatileMethodIdx, XOTclOVwaitMethodIdx, XOTclAliasCmdIdx, + XOTclMyCmdIdx, XOTclRelationCmdIdx, XOTclSetInstvarCmdIdx } XOTclMethods; @@ -1823,6 +1826,21 @@ } static int +XOTclMyCmdStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { + parseContext pc; + + if (parseObjv(interp, objc, objv, XOTclMyCmdIdx, &pc) != TCL_OK) { + return TCL_ERROR; + } else { + int withLocal = (int )pc.clientData[0]; + Tcl_Obj *method = (Tcl_Obj *)pc.clientData[1]; + + return XOTclMyCmd(interp, withLocal, method, objc-pc.lastobjc, objv+pc.lastobjc); + + } +} + +static int XOTclRelationCmdStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { parseContext pc; @@ -2239,6 +2257,11 @@ {"-protected", 0, 0, NULL}, {"cmdName", 1, 0, "tclobj"}} }, +{"::xotcl::my", XOTclMyCmdStub, { + {"-local", 0, 0, NULL}, + {"method", 1, 0, "tclobj"}, + {"args", 0, 0, "args"}} +}, {"::xotcl::relation", XOTclRelationCmdStub, { {"object", 1, 0, "object"}, {"reltype", 1, 0, "tclobj"},