TODO

Clone Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- don't allow method to overwrite child object - extended regression test - documented new feature as incompatibility with XOTcl 1

  1. … 4 more files in changeset.
- don't allow object creation to overwrite non-object cmds (e.g. procs)

  1. … 5 more files in changeset.
- treating incompatible forwarding to slot vs. slot option noaccessor - extended regression test

  1. … 2 more files in changeset.
- use Tcl's EXTERN macro instead of "extern"

  1. … 5 more files in changeset.
- additional object parameter option "invokesetter" managed by nx.tcl This was necessary, since the previously implemented strategy called the setter whenever slot= was provided. This has the problem, that values could be converted twice (once by "configure", once by the setter method", which lead for the converter to a double refcounting on the value.

  1. … 3 more files in changeset.
- Forward setting of object parameters to the slot object, when assign method is user-defined on the slot object - Cleanup and extend regression test

  1. … 3 more files in changeset.
- Don't export symbols in the general case just because of MSC/C89 compliance

- updates

- changed object->flags from "unsigend short" to "unsigned int" - reintroduced NSF_TCL_DELETE to address bug flagged from memdebug - extended regression test

  1. … 3 more files in changeset.
doc: fixed line-number handling locally

  1. … 2 more files in changeset.
- removed documentation about incompatibility to XOTcl1 in respect of the method interface for object invocations

  1. … 3 more files in changeset.
- fixed NRE memory management (for Tcl 8.6) by refactoring alias handling

  1. … 1 more file in changeset.
- extend regression test for interactions between "keepcallerself" and "perobjectdispatch" - some minor cleanup

  1. … 2 more files in changeset.
- fixed potential crash from method caching, when permissions on cmds are changed and become e.g. unresolvable - removed flag allowmethoddispatch, since behavior can be achived via private flag. - extended regression test

  1. … 9 more files in changeset.
- deacitivate for the time being allowmethoddispatch (make it behave always like true) - added instead new flag "perobjectdispatch" to make behavior of ensembleobjects configurable. - The behavior for keepcallerself is currently only activated for the method-interface for object dispatch, since otherwise the following would be dangerous, since "o2 foo" would destroy o2 nx::Object create o1 nsf::object::property o1 keepcallerself true nx::Object create o2 { ::public method foo {} {o1 destroy} } o2 foo

  1. … 10 more files in changeset.
- nsf.c: start all error messages with a lower case word for consistency and to follow closer to Tcl's conventions

  1. … 14 more files in changeset.
- use alias-stubs for aliases pointing to objects. This allows us to distinguish between cases, where an object is dispatchable due to the alias or due to allowmethoddispatch (when the object happens to be a subobject and has therefore its cmd in the same namespace). The semantics are now: - aliases to objects are always dispatchable, no matter, how allowmethoddispatch is set. - direct subobjects of objects are currently on dispatchable when allowmethoddispatch is set.

  1. … 4 more files in changeset.
- alias reform: instead of calling first an alias with a stack frame followed by the dispatched of the aliased cmd, resolve aliases internally in dispatch. This has the advantage that we do not have to ignore the "transparent" stack frame in some sitations, and we have much less problems with the names of the aliased cmds (e.g. objects) in the introspection methods. Additionally, several problem cases disappeared from the regression test cases. In addition, the new approach is faster. - eliminating obsolete flag NSF_CSC_CALL_IS_TRANSPARENT

  1. … 9 more files in changeset.
- improve handling of multiple error messages in a single command

  1. … 2 more files in changeset.
- Added exerpimental object property "allowmethoddispatch" for child-objects to be called from parent objects via method interface. Background: both, per-object methods and childobjects are implemented via cmds in the same tcl namespace. Without special care, both are callable via the standard dispatch. Apparently, this is not always wanted. - handled allowmethoddispatch and keepcallerself in copy/move - set allowmethoddispatch per-default in XOTcl - removed visablilty of objects with "allowmethoddispatch" false in "info methods" and "info search methods" - extended regression test

  1. … 10 more files in changeset.
- removed TODOs from keepcallerself in destroy.test; calls were truely recursive, behavior was correct.

  1. … 1 more file in changeset.
- simplified usage of ObjectName() and ClassName() macros (no caller parenthesis needed) - added exerpimental object property keepcaller self (currently only evaluated by aliased objects)

  1. … 8 more files in changeset.
- TODO: updated

- simplify macro handling with __WIN32__ - regroup some macro definitions

  1. … 1 more file in changeset.
- generic/nsfInt.h: Provided the DECR_REF_COUNT2 #define macro for __WIN32__ builds (e.g., MinGW). Thanks to Stephan Adelsberger for pointing to the issue. - Made temp file handling in a rosetta example OS-independent; thanks to Stephan Adelsberger for the initial patch

  1. … 2 more files in changeset.
- improve branch prediction

  1. … 5 more files in changeset.
- fix typos - extend regression test to improve coverage

  1. … 1 more file in changeset.
nsf.c: - change argument of IsMetaClass() to type *NsfObject - provide basic pretection against most likely unintended deletion/overwriting of base classes. - extend regression test

  1. … 2 more files in changeset.
- minor cleanup, added regression test

  1. … 2 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf