Index: TODO =================================================================== diff -u -r59f13181ba70df745dca1c5e96ed872703d8662d -r0aeccfecef90977dbe8f105c4e808f7f5313486f --- TODO (.../TODO) (revision 59f13181ba70df745dca1c5e96ed872703d8662d) +++ TODO (.../TODO) (revision 0aeccfecef90977dbe8f105c4e808f7f5313486f) @@ -5095,24 +5095,20 @@ - add slot method value=unset to nx::RelationSlot and nx::VariableSlot - extended regression test +Makefile: +- fix load paths for sublibs (e.g. mongodb) in regression test + ======================================================================== TODO: - TODO: rework error message generation of slot-forwarder - TODO: demangle "slotassign" in "ObjectParameterSlot protected method getParameterOptions" and check interactions -- TODO: to the same as -mixin and -object-mixin to -filter and -object-filter - TODO: clean up relation slot mixin variants -- TODO: do we really like the fact that we have to write now - "B mixin set M2" instead of "B mixin M2"? -- TODO: should we disallow - "B mixin" and enforce instead of "B mixin get" ? -- TODO: we could as well allow "B mixin clear" instead of "B mixin set {}" -- TODO: allow "set" for variable slots as well. Do we need "assign"? - TODO: define setters for traits - TODO: paths in sublibs in regression test incorrect - TODO: rename "slotassign" to "slotset"? +- TODO: update tutorial and migration guide - - why is there no pos/index arg for mixin|filter delete? - nsf.c: finish forwarder error messages Index: library/mongodb/Makefile.in =================================================================== diff -u -r7fcc530e2cdd3a298ffde6a1c4633231e0494257 -r0aeccfecef90977dbe8f105c4e808f7f5313486f --- library/mongodb/Makefile.in (.../Makefile.in) (revision 7fcc530e2cdd3a298ffde6a1c4633231e0494257) +++ library/mongodb/Makefile.in (.../Makefile.in) (revision 0aeccfecef90977dbe8f105c4e808f7f5313486f) @@ -127,7 +127,7 @@ TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \ @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \ PATH="$(EXTRA_PATH):$(PATH)" \ - TCLLIBPATH="$(top_builddir)" + TCLLIBPATH="../../ $(top_builddir)" TCLSH_PROG = @TCLSH_PROG@ TCLSH = $(TCLSH_ENV) $(TCLSH_PROG) SHARED_BUILD = @SHARED_BUILD@ Index: tests/accessor.test =================================================================== diff -u --- tests/accessor.test (revision 0) +++ tests/accessor.test (revision 0aeccfecef90977dbe8f105c4e808f7f5313486f) @@ -0,0 +1,78 @@ +package req nx::test +nx::test configure -count 1 +nx::test case setter-variants { + nx::Class create C { + :property {p1a 1} + :property {p1b 1} { + :public object method value=set {obj prop value} { + nx::var::set $obj $prop [incr value] + } + } + :property -accessor public {p2a 2} + :property -accessor public {p2b 2} { + :public object method value=set {obj prop value} { + nx::var::set $obj $prop [incr value] + } + } + + :property -incremental {p3a 3} + :property -incremental {p3b 3} { + :public object method value=set {obj prop value} { + nx::var::set $obj $prop [incr value] + } + } + + :create c1 + } + + puts [C info method definition p1a] + ? {c1 cget -p1a} 1 + ? {c1 configure -p1a 1} "" + + puts [C info method definition p1b] + ? {c1 cget -p1b} 2 + ? {c1 configure -p1b 3} "" + ? {c1 cget -p1b} 4 + + puts [C info method definition p2a] + ? {c1 cget -p2a} 2 + ? {c1 p2a get} 2 + ? {c1 configure -p2a 2} "" + ? {c1 p2a set 2} 2 + ? {c1 p2a unset} "" + ? {c1 cget -p2a} {can't read "p2a": no such variable} + + puts [C info method definition p2b] + ? {c1 cget -p2b} 3 + ? {c1 p2b get} 3 + ? {c1 configure -p2b 2} "" + ? {c1 p2b set 2} 3 + ? {c1 p2b unset} "" + ? {c1 cget -p2b} {can't read "p2b": no such variable} + + puts [C info method definition p3a] + + ? {c1 cget -p3a} 3 + ? {c1 p3a get} 3 + ? {c1 configure -p3a 3} "" + ? {c1 p3a get 3} 3 + ? {c1 p3a set 3} 3 + ? {c1 p3a unset} "" + ? {c1 cget -p3a} {can't read "p3a": no such variable} + + puts [C info method definition p3b] + + ? {c1 cget -p3b} 4 + ? {c1 p3b get} 4 + ? {c1 configure -p3b 4} "" + ? {c1 p3b get} 5 + ? {c1 p3b set 4} 5 + ? {c1 p3b get} 5 + ? {c1 p3b set 4} 5 + ? {c1 p3b get} 5 + + ? {c1 p3b unset} "" + ? {c1 cget -p3b} {can't read "p3b": no such variable} + +} +