nx.tcl

Clone Tools
  • last updated 16 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- nsf.c: * improved source code documentation * added parameter option "args" in order to get eventually rid of hard-wired residual args. * improved a few error messages * fixed object parameters consisting only of plain parameters (previously, no parameters were returned in this case, e.g. for method parameters; but object parameter code depends on it) - extended and updated regression tests

  1. … 7 more files in changeset.
- provided nicer registration and inspection interface for unknown handlers - added documentation for unknown handlers in tutorial - cleanup of __unknown

  1. … 8 more files in changeset.
- moved mixin reg type converter to a new file (nsfObj.c) - added NsfFilterregObjType, to provide a converter for filter registration similar to mixin registrations - replaced dummy dupIntRepProc and updateStringProc in nsfObj.c by NULL

  1. … 7 more files in changeset.
- Use mixinregObjType as well in NsfRelationCmd(), so this is the only place, where mixin and guards are processed. - Since the type converter converts Tcl-Objs, we have less context information (e.g. we have no base class, on which we can decide to call e.g. __unknown on on of the objects systems). - because of the point above, i removed ::xotcl::Class->__unknown and ::nx::Class->__unknown in favor of a global proc ::nsf::unknown, for which unknown handlers can be registered - GetClassFromObj() receives as last argument "withUnknown" instead of baseClass to indicate, when unknown should be tried. - new function NsfCallUnkownHandler()

  1. … 9 more files in changeset.
- renamed converter from "mixinspec" to "mixinreg"

  1. … 6 more files in changeset.
- nsf.c: * added a new converter for converting mixins with guards (named mixinspec) * used mixinspec in nx.tcl and xotcl2.tcl * extended nx regression test.

  1. … 8 more files in changeset.
- nsf.c: generalized disposition handling (forward, alias, initcmd) for object parameter * disposition is now an option for object parameters rather than than an own type. Therefore, one can check the arguments passed to the disposition cases * changed specification of name of method from arg= to method= * this way "type" info in "info parameter syntax" is handled automatically

  1. … 12 more files in changeset.
- added "link" from 2.4 (parameters) to "info parameters" in migration guide

  1. … 4 more files in changeset.
- nx.tcl: added "info parameter slot" to return slotobject(s) - added "info parameter slot" to migration guide - extended regression test

  1. … 4 more files in changeset.
-nsf.c: added c-implementation of "/object/ info slots" to share implementation details and reduce scattering

  1. … 4 more files in changeset.
- nx.tcl: improve code documentation

  1. … 1 more file in changeset.
- nx.tcl: ne proc ::nx::setSlotContainerProperties to handle slot container properties in a uniform way - reduce verbosity

  1. … 2 more files in changeset.
- nsf.c: require NSF_IS_SLOT_CONTAINER for slot-container

  1. … 5 more files in changeset.
- using slotcontainer porperty

  1. … 3 more files in changeset.
- nsf.c: * handling of same named per-object and provided slots for Class objects * per-object slots are saved now under <obj>::per-object-slot::* * returning correct results when per-object slots are used * removed obsolete functions: NsfObjectListFree(), NsfObjectListAdd() * removed obsolete type NsfObjects * transformed ComputeSlotObjects() into a more generic AddSlotObjects() that can handle per-object slots as well - nx.tcl: * generalized slot object handling. * extended regression test

  1. … 6 more files in changeset.
- added test cases for "info slots"

  1. … 2 more files in changeset.
- nx.tcl: * splitted method "delete" into a "delete method" and "delete attribute" * remove flag "-per-object" in method "delete" * delete per-object methods of classes with "/cls/ class delete method name" and "/cls/ class delete attribute name" * extended regression test

  1. … 2 more files in changeset.
-nx.tcl: * added method "delete" to delete methods and attributes * extended regression test

  1. … 3 more files in changeset.
-nsf.c:

* Added argument "-reg-object" to ::nsf::method::create to

distinguish between a registration and a definition object for

ensemble methods, similar as on other places. If no reg-object is

provided, it is the same as the definition object. One should

take care that the registration objects are deleted after the

definition objects, which is the case for the usages of the

reg-objects in nx/xotcl.

* The namespaces within plain scripted methods and scripted

ensemble objects are now the same.

* Extended regression test

  1. … 5 more files in changeset.
- nx.tcl: * removed "info slot handle" and "info slot parameter" * added "info parameter spec", "info parameter list", "info parameter name", and "info parameter syntax" * extended regression test

  1. … 4 more files in changeset.
- nsf.c: Since the method "objectparameter" is just based on the class (and object parameters are invalidates as well over the class), we moved the method from obj to class to avoid potential confusions

  1. … 8 more files in changeset.
- added: "info slot handle /name/" "info slot parameter /name/"

  1. … 1 more file in changeset.
- added: "info slot handle /name/" "info slot parameter /name/"

  1. … 1 more file in changeset.
- nx.tcl, xotcl2.tcl: removed unsafe {*}$pattern

  1. … 2 more files in changeset.
- nsf.c * added "pattern" to "info lookup slots" * added "pattern" to "info slots" * extended regression test

  1. … 7 more files in changeset.
* base objectparameter on "info slots -closure"

  1. … 2 more files in changeset.
* added switch "-source" to "info slots -closure" and "info lookup slots" (similar to "info lookup methods") * extended regression test

  1. … 5 more files in changeset.
- nsf.c * first version of c-bases "info slots" for classes * switch "-closure" just for class info method

  1. … 5 more files in changeset.
- nx.tcl: replace loops ::nsf::methods::[object|class]::* by explict command registrations

  1. … 1 more file in changeset.
- library/nx/nx.tcl: Added the default procs for the init, defaultmethod, and unknown hooks to the ignore list for the ::nx::Object standard method set. Otherwise, upon a resourcing of nx.tcl (e.g., package forget nx;package req nx), they get registered as alias methods no matter what (due to residing in ::nsf::methods::object::*).