generic

Clone Tools
  • last updated 20 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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. … 5 more files in changeset.
- nsf.c: NsfClassInfoObjectparameterMethod() stumbled over empty paramspec strings returned from objectparamter() into a null pointer exception. Fixed. - Adjusted some fprint statements for recent changes.

- nsf.c: fix and document GetMatchObject() - extend regression test

  1. … 2 more files in changeset.
- nsf.c: removed all occurrences of Tcl_AppendElement() - nsf.c: passed around resultObj explicitly

  1. … 1 more file in changeset.
- nsf.c: removed all but one occurrance of Tcl_AppendElement()

  1. … 1 more file in changeset.
* Code cleanup and documentation

  1. … 1 more file in changeset.
- reorder code

  1. … 1 more file in changeset.
* Code cleanup and documentation

  1. … 1 more file 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. … 3 more files in changeset.
- nsf:c * added C-implemented class level method "info objectparameter list|name|parameter|parametersyntax" * added enum to handle different print styles for parameters * renamed ParamDefsList() to ParamDefsNames(), added true ParamDefsList()

- 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. … 7 more files in changeset.
- nsf.c * added "pattern" to "info lookup slots" * added "pattern" to "info slots" * extended regression test

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

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

  1. … 3 more files in changeset.
- nsf.c: * renamed old flag "-order" of "info mixin classes" to "-heritage" since it computes same heritage as in "info heritage" (but potentially for a list of classes) * added compatibility layer for xotcl2 * added lost option "-heritage" to "/cls/ info mixin classes" (was only there for "/obj/ info mixin classes") * extended regression test

  1. … 5 more files in changeset.
- code cleanup

- nsf.c: * ensure that explicit per-object-mixins are kept at the front in "info heritage" order and in "info precedence" when classes are added as POMs and PCMs * extended regression test

  1. … 3 more files in changeset.
- nsf.c: * added NsfClassListNoDup() to allow just single inserts * added NsfClassListPrint() for debugging * info heritage returns no duplicates * added prototype for NsfNoCurrentObjectError() * report "no current object" when no object is passed to a method. * code cleanup - extended regression test

  1. … 4 more files in changeset.
- nsf.c: * handle direct dispatches for aliased methods * new generalized error message: NsfNoCurrentObjectError()

  1. … 2 more files in changeset.
- generic/nsf.c: Re-arranging previous commit a little

- generic/nsf.c: Added a no-current-object guard to NsfProcAliasMethod(); otherwise, executing alias procs directly leads to a non-instructive assertion failure. - Corrected two typos - TODO: suggesting refactoring of no-self-object messages

  1. … 1 more file in changeset.
- replaced loops with NsfClassListFind()

  1. … 1 more file in changeset.
-nsf.c: * factor out NsfClassListFind() * let result of "cls info heritage" return per-class mixins as well, otherwise it would be useless, since "cls info superclass -closure" would return the same

  1. … 3 more files in changeset.
- nsf.c: factor out ClassListAddPerClassMixins()

  1. … 1 more file in changeset.
- nsf.c: * moved implementation of ::nsf::method::delete to C * produce same error messages when methods are delete via nsf::method::delete and nsf::method::create {} {} * Prohibit deletion of methods during shutdown. Otherwise when destructors delete methods, some other destructors depending on these methods will fail. Cleanup deletes all methods anyway. * Provided alternative (faster) way of dispatching nsf::procs (can be tured off with NSF_INVOKE_SHADOWED_TRADITIONAL) * renamed NsfMethodCmd() into NsfMethodCreateCmd() for consistency * nsf works with OpenACS again (requires new nstrace.tcl, aolserver-openacs.tcl, and 01-debug-procs.tcl).

  1. … 2 more files in changeset.
- nsf: renamed nsf::isobject to nsf::object::exists - nsf: renamed nsf::qualify to nsf::object::qualify

  1. … 15 more files in changeset.
- nsf.c: made potentially unknown clientData more safe (error message, when something is passed via clientData to a method expecting an object/class as clientData). - renamed NsfNoDispatchObjectError() to NsfDispatchClientDataError(), extended interface - Makefile.in: fixed name methods.test

  1. … 4 more files in changeset.
- nsf.c: added nsf::var::unset (provided so far just var::set)

- nsf:c: fix dispatch of setter without current method - extended regression tests

  1. … 4 more files in changeset.
- improve debug message