nsf

Clone Tools
  • last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- reduce variable scope

- 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.

- make clear that "pattern" is an optional argument of "info lookup method" - make clear, that 'all' is a permissible value for nonpos arg "-callprotection" (several commands)

add missing question mark

fix typo

- Forward setting of object parameters to the slot object, when assign method is user-defined on the slot object - Cleanup and extend regression test

- remove debug output

- Don't export symbols in the general case just because of MSC/C89 compliance

- updates

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf - use fixed array size for method_definitions for MSC

Conflicts:

generic/nsf.c

- Cleanup for compilation under MSC (avoid unsupported forward declaration of array) - further documentation of functions, better grouping of functions

- C89/C99 do not allow forward declaration of arrays with "static" storage classifiers (a feature which is a gcc extension only). For MSVC compat, I fixed these occurrences and verified that nsf builds with "gcc -std=c89 -pedantic". - generic/gentclAPI.tcl: Modified the print statements for two array forward declarations (method_definitions, enumeratorConverterEntries)

Fixed memdebub build

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

BEWARE: We are missing multivalued support in xotcl1 emulation

    • -19
    • +28
    /library/xotcl/library/xotcl2.tcl
doc: fixed line-number handling locally

- removed documentation about incompatibility to XOTcl1 in respect of the method interface for object invocations

- fixed NRE memory management (for Tcl 8.6) by refactoring alias handling

- extend regression test for interactions between "keepcallerself" and "perobjectdispatch" - some minor cleanup

- 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

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

- 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

- Used "gcc -ansi" to test ANSI compatibility (with MSVC in mind) - generic/nsf.c, generic/nsfShadow.c: Fixed some non-ANSI comments - generic/nsfError.c: Relocated a declaration to the beginning of the scope block (MSVC shouted here) - generic/nsfInt.h: Made sure that NSF_INLINE is only set in non-ANSI gcc builds, added a tiny portability wrapper for va_copy (to support MSVC and the gcc/clang ANSI mode)

- nsf.c: start all error messages with a lower case word for consistency and to follow closer to Tcl's conventions

- 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.

- 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

- improve handling of multiple error messages in a single command

Extend handling of dashses in XOTcl's configure method to perform a more eager search for command begins (same change as in XOTcl 1)

    • -2
    • +19
    /library/xotcl/tests/speedtest.xotcl
Fix typo in nsf::predefined

Fix typo in ::nsf::deprecated