nsf

Clone Tools
  • last updated 23 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Most issues resolved, however, the ordering of default vs. traces is pending

    • -9
    • +24
    /library/xotcl/tests/slottest.xotcl
Don't recommend to use "configure" method for chaning class/superclass

- Replaced errorneous check using the object-specific rather than the class-specific options in the query mode of ::nsf::relation with class-filter. This prevented [::nsf::relation /cls/ class-filter] from returning any filter info. As a consequence, the incremental interface of the filter slot failed (e.g., [/cls/ filter add aFilterProc] effectively reset the class-filter cmd list instead of adding to it). Thx are due to Markus Moldaschl for reporting the issue. - Aligning class-filter and object-filter behaviour on errors during filter additions to the state-preserving behaviour of object-mixin and class-mixin. - Adding basic tests on object-filter/class-filter (::nsf::relation, filter slot interface) and specific ones to cover the above issues.

Adding basic tests on object-filter/class-filter; and specific ones to cover the class-filter issue

Aligning class-filter and object-filter behaviour on errors during filter additions to the state-preserving behavior of object-mixin and class-mixin

First examples, supporting text, and Makefile integration

    • -0
    • +276
    /doc/example-scripts/linearisation.tcl
Replaced errorneous variable check which prevented [::nsf::relation /obj/ class-filter] from returning any filter info

- added a SlotContainerCmdResolver() to avoid interaction of slot names with names of callable tcl commands. Without the SlotContainerCmdResolver() the call to "list" in a property named "list" leads to a call to the container object ::Test2::slot::list instead to the intended ::list. The implementation is not perfect, since it ignores the namespace path inside the slot container. - added regression test.

adding gcc helper files to ignore list

cosmetical documentation changes

    • -14
    • +4
    /doc/example-scripts/ruby-mixins.html
nsfShadow.c - bump MethodEpoch when a tcl ::rename command happens on a nsf method (which might be cached in a Tcl_Obj) This fixes a crash reported by Arthur Schreiber nsf.c: - make NsfInstanceMethodEpochIncr() and NsfObjectMethodEpochIncr() accessible from all files using nsfInt.h - remove experimental code (backslash escaping for "," in parameter option parse

- remove dependency of generated stub file from nsfInt.h

- fix compilation when dtrace is activated (missing parthesis, many thanks to Victor Guerra for noticing)

- document private properties in tutorial and migration guide - improve wording in documenting - extend regression test

    • -51
    • +128
    /doc/next-tutorial/next-tutorial.html
    • -8
    • +59
    /doc/next-tutorial/next-tutorial.txt
- configure, configure.in: Under win, the CLEANFILES missed a pattern for object files - nsfInt.h: Based on the BUILD_nsf convention, the internal header introduced a TCL_STORAGE_CLASS macro placing the dllimport attribute (under Win/MinGW builts). As a consequence, shared and stub builts ended up with function declarations annotated with dllimport (which for these cases is either unnecessary or even breaks builts because the dllexport counterpart is missing, obviously). As nsf.h includes a sane DLLIMPORT/DLLEXPORT handling (copied over from tcl.h), I simply removed the special macro handling from nsfInt.h. - NsfProcStub(): Use the EXTERN macro rather than extern directly

- added documentation for "/obj/ info name" to migration guide and .nxd file - adding more comments to examples in migration guide

- added design study ruby-mixins.tcl to example-docs and regression test

    • -0
    • +1133
    /doc/example-scripts/ruby-mixins.html
    • -0
    • +214
    /doc/example-scripts/ruby-mixins.tcl
- minor polishing

- change "#!/bin/env" into "#!/usr/bin/env"

    • -9
    • +11
    /doc/next-tutorial/next-tutorial.html
- increase backward compatibility for ::xotcl::Attribute by defining the public methods "set", "exists" and "istype"

- apps/utils/nxdoc: fix shebang path to env ...

- generic/nsf.c, ObjectDispatch(): Re-arranged the handling of fully-qualified method dispatches with the selectors resolving to existing objects and, in particular, nested (namespace-qualified) objects. Prior to that, dispatches such as "::C ::parent::child" were not covered appropriately: ::parent was reported as valid regObj and so the dispatcher continued to dispatch to the cmd "::parent::child" in the self-context ::parent::child ... with unwanted side-effects (e.g., XOTcl's unknown handling was bypassed). - tests/methods.test: Added basic tests on the (current) handling for such ::* dispatches and a specific test set on the intended XOTcl behaviour.

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

- start error messages with a lower case word for consistency and to follow closer to Tcl's conventions

- added "private property foo" - extended regression test

- allow parens in property names (array syntax) - added "/obj/ info name" (as alternative to "namspace tail [self]")

- use newer style of tcl-obj interface instead of sprintf

- implement escaping for comma in value of parameter options: escaping in values can be achived via duplicating the comma. - extend regression test

- library/xotcl/library/xotcl2.tcl: Provided a virtual slot "multivalued" to establish backward compatibility with XOTcl1; also, allow old-style class creation based on unknown for ::xotcl::Attribute - library/xotcl/tests/slottest.xotcl: Added some tests on backward compatibility for XOTcl slots

    • -19
    • +36
    /library/xotcl/library/xotcl2.tcl
    • -4
    • +58
    /library/xotcl/tests/slottest.xotcl
Fixed test case statement

    • -48
    • +47
    /library/xotcl/tests/slottest.xotcl