Index: TODO =================================================================== diff -u -r5042af6f06c052edd253e5505b4404a03a47f73a -r4dda01032377717e628cc10bca1c5b180d0f9c14 --- TODO (.../TODO) (revision 5042af6f06c052edd253e5505b4404a03a47f73a) +++ TODO (.../TODO) (revision 4dda01032377717e628cc10bca1c5b180d0f9c14) @@ -5882,25 +5882,30 @@ - don't call tcl eval operations from NsfLog() in phyical destroy round - extend regression test for shell with tests in [info nameofexecutable] rather than in nxhs +- hint: + > SS the 'consider' recommendation of nx::Class->unknown message is irritating: + > + > % Class create Book + > ::Book + > % Book price set 10 + > method 'price' unknown for ::Book; consider '::Book create price set 10' instead of '::Book price set 10' + > ::Book ::nx::Class->unknown + > invoked from within + > "Book price set 10" + > ... + > As this is only relevant for someone with XOTcl legacy in mind, NX is + > not about source compatibility with XOTcl anyways. + + GN: in XOTcl, it is hard to avoid NX (e.g. slots). we have this mix there. Reality shows, + that users are confused, if they want to create an instance, but they receive just + an error message. Mybe on the longer range, we can drop the hint. + For the time being, I've made the hint even more verbose. + + ======================================================================== TODO: -- the 'consider' recommendation of nx::Class->unknown message is irritating: - % Class create Book - ::Book - % Book price set 10 - method 'price' unknown for ::Book; consider '::Book create price set 10' instead of '::Book price set 10' - ::Book ::nx::Class->unknown - invoked from within - "Book price set 10" - ... - - "::Book create price set 10" is per se a likely invalid call. Just: - "::Book create price"? Or, just drop the unknown message at all? As - this is only relevant for someone with XOTcl legacy in mind, NX is - not about source compatibility with XOTcl anyways. - - Investigate NsfMethodContext mem-bookkeeping/ possible leak: $ tclsh Index: library/nx/nx.tcl =================================================================== diff -u -rbb688b8cd74e308d9df7cc21e29ca9bed50e3fd2 -r4dda01032377717e628cc10bca1c5b180d0f9c14 --- library/nx/nx.tcl (.../nx.tcl) (revision bb688b8cd74e308d9df7cc21e29ca9bed50e3fd2) +++ library/nx/nx.tcl (.../nx.tcl) (revision 4dda01032377717e628cc10bca1c5b180d0f9c14) @@ -271,7 +271,8 @@ # define unknown handler for class :method unknown {methodName args} { return -code error "method '$methodName' unknown for [::nsf::self];\ - consider '[::nsf::self] create $methodName $args' instead of '[::nsf::self] $methodName $args'" + in order to create an instance of class [::nsf::self], consider using\ + '[::nsf::self] create $methodName $args'" } # protected is not yet defined ::nsf::method::property [::nsf::self] unknown call-protected true