Index: TODO =================================================================== diff -u -rd86805a2250aaa861470d4f4a13945d603585aca -r24c2302b26cc3d8e608103a269ab3c82392501ff --- TODO (.../TODO) (revision d86805a2250aaa861470d4f4a13945d603585aca) +++ TODO (.../TODO) (revision 24c2302b26cc3d8e608103a269ab3c82392501ff) @@ -5346,6 +5346,13 @@ nsf::parameter:invalidate::classcache -> nsf::parameter::cache::classinvalidate nsf::parameter:invalidate::objectcache -> nsf::parameter::cache::objectinvalidate reasons: (a) remove single colon inside the name, (b) put verb to the end + +- fixed error message for forward ... onerror and method paths. The command + "C object mixin" returns now + "::C object mixin add|clear|delete|get|guard|set" and not + "::C mixin add|clear|delete|get|guard|set" as before. + + ======================================================================== TODO: @@ -5358,11 +5365,6 @@ - what should happen with: "/class/ info mixin classes -heritage" - asymmetry between "/obj/ info lookup mixins" vs. "/obj/ info ?object? mixin classes" -- fix error message for - "C object mixin" returns - "::C mixin add|clear|delete|get|guard|set" and not - "::C object mixin add|clear|delete|get|guard|set" - - check deactivated tests in tests/serialize.test C(One), C(IgnoreAll), C(None2) and xlloc fix Index: generic/nsf.c =================================================================== diff -u -rd86805a2250aaa861470d4f4a13945d603585aca -r24c2302b26cc3d8e608103a269ab3c82392501ff --- generic/nsf.c (.../nsf.c) (revision d86805a2250aaa861470d4f4a13945d603585aca) +++ generic/nsf.c (.../nsf.c) (revision 24c2302b26cc3d8e608103a269ab3c82392501ff) @@ -19578,11 +19578,16 @@ if (tcd->object) { cmd = Tcl_DuplicateObj(tcd->object->cmdName); + if (objc > 0) { + Tcl_ListObjAppendList(interp, cmd, NsfMethodNamePath(interp, NULL, MethodName(objv[0]))); + if (objc > 1) { + Tcl_ListObjAppendElement(interp, cmd, Tcl_NewListObj(objc-1,objv+1)); + } + } } else { - cmd = Tcl_NewObj(); + cmd = Tcl_NewListObj(objc, objv); } - Tcl_ListObjAppendElement(interp, cmd, Tcl_NewListObj(objc,objv)); Tcl_ListObjAppendElement(interp, script, cmd); Tcl_ListObjAppendElement(interp, script, Tcl_NewStringObj(Tcl_DStringValue(&ds), Tcl_DStringLength(&ds))); Index: tests/methods.test =================================================================== diff -u -rae7d7d03bf76d21dd52d45181c3ab310e51845ec -r24c2302b26cc3d8e608103a269ab3c82392501ff --- tests/methods.test (.../methods.test) (revision ae7d7d03bf76d21dd52d45181c3ab310e51845ec) +++ tests/methods.test (.../methods.test) (revision 24c2302b26cc3d8e608103a269ab3c82392501ff) @@ -235,7 +235,7 @@ ? {lsort [C object mixin get]} "::M2 ::M4" ? {lsort [C mixin get]} "::M1 ::M3" - ? {lsort [C object mixin]} {wrong # args: use "::C mixin add|clear|delete|get|guard|set"} ;# TODO: should be "C object mixin ..." + ? {lsort [C object mixin]} {wrong # args: use "::C object mixin add|clear|delete|get|guard|set"} ? {lsort [C mixin]} {wrong # args: use "::C mixin add|clear|delete|get|guard|set"} ? {catch {C mixin M5} errorMsg} 1