nsf

Clone Tools
  • last updated 12 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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

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
- explorative implementation of object method dispatches with KEEP_CALLER_SELF and no NSF_PER_OBJECT_DISPATCH - extend regression test

nsf.c: - refactor ObjectCmdMethodDispatch() for clarity - prepare work on object method dispatches with KEEP_CALLER_SELF and no NSF_PER_OBJECT_DISPATCH

- remove debug line

- fix off-by-one error

- add regression test for keepcallerself with and without perobjectdispatch