Index: TODO =================================================================== diff -u -r1a79d773d2d60c43bacefd3e6e87ba1ba38f46d5 -r7d7f47ce5d7b7c2d252af5d4499b50996f6475ff --- TODO (.../TODO) (revision 1a79d773d2d60c43bacefd3e6e87ba1ba38f46d5) +++ TODO (.../TODO) (revision 7d7f47ce5d7b7c2d252af5d4499b50996f6475ff) @@ -1017,7 +1017,7 @@ - TODO: info methods shows finally "slots" and "slot". Wanted? Actually no. - removed definition of slots from nx, changed regression tests - examples to to ::attribute instead of -slots + examples from slots to ::attribute - replaced several occurrences of "eval" in nx.tcl and xotcl2.tcl @@ -1560,13 +1560,64 @@ - added NSF_CSC_CALL_IS_TRANSPARENT to handle proc aliases transparently - access self in NsfProcAliasMethod() from tcl->object; +- added public|protected to output of "info method definition" + (needed to make serializer more sane, neccessary on the longer range) +- reduce size of output of serializer +- make nx::Object.serialize public +- XOTcl 2: allow info slots for objects as well + +- serializer: + * added support for ordering on aliases referencing other objects/classes + * provide shared version of the method warn via alias + and removed direct output to stderr + +- slots: + * change name "initcmd" of "experimental slot features" to + "defaultcmd" to avoid naming conflict the the initcmd executed + at the initilization of a slot object (effects XOTcl as well) + * make defaultcmd/valuecmd/valuechangedcmd working for nx + (absence of trace method) + * provide error message, when default/defaultcmd/valuecmd are used + non-exclusively + * make sure to init per-object slots after copy operations + * make nx::Attribute.destroy more definsive + * extend test cases + +- nsf: added flag NSF_DESTROY_CALLED_SUCCESS in addition + to NSF_DESTROY_CALLED to distinguish between attempted + and successful destroy method invocations (important for + cleanup) + TODO: +- handing of xo::at_cleanup in serializer + (either generailization or move to OpenACS/aolserver init/naviserver init) +- cleanup of xotcl-aol +- method-modifiers/attribute-method.002: incorrect result for 'set _ {}' + expected: '::C::A', got '' + in test file ./tests/method-modifiers.tcl + ... => + FinalObjectDeletion obj 0x100915610 activationcount 2 + Assertion failed: (object->activationCount == 0), function FinalObjectDeletion, + file ./generic/nsf.c, line 15788. + +- use term "callprotection" in documentation for public|protected + (to be consistent with info command) + +get definition of ::nsf::methods::object::instvar +should never happen, maybe someone deleted the alias (null) for object ::xo::Attribute +procPtr 0x102ecd1c1 NsfObjDispatch 0x102ebe556 name instvar +alias instvar // ::xo::Attribute public alias instvar ::nsf::methods::object::instvar // + + - extend coro regression test - subcmd * handle subcmd for other method factories * handle absence of -create flag in resolve_method_path (for introspection) + * provide full support in serializer +- serializer: + keep track of defaultMethodProtection - interfaces in documentation for slots (see for more details ::nx::Class#superclass in nx.tcl). Index: doc/next-migration.html =================================================================== diff -u -re2f11549ef70518cca8c9c49b1d78f4383b00a87 -r7d7f47ce5d7b7c2d252af5d4499b50996f6475ff --- doc/next-migration.html (.../next-migration.html) (revision e2f11549ef70518cca8c9c49b1d78f4383b00a87) +++ doc/next-migration.html (.../next-migration.html) (revision 7d7f47ce5d7b7c2d252af5d4499b50996f6475ff) @@ -109,12 +109,12 @@ set :things "" } - :method push {thing} { + :public method push {thing} { set :things [linsert ${:things} 0 $thing] return $thing } - :method pop {} { + :public method pop {} { set top [lindex ${:things} 0] set :things [lrange ${:things} 1 end] return $top @@ -182,7 +182,7 @@ # Define a class using Next Class create C2 { - :method foo {} {puts "hello world"} + :public method foo {} {puts "hello world"} } } @@ -1421,7 +1421,10 @@
All slot objects (also those in XOTcl) are now always -next-scripting objects of baseclass ::nx::Slot
+next-scripting objects of baseclass::nx::Slot
.
+The name of the experimental default-setter initcmd
was
+changed to defaultcmd
.
+