nsf

Clone Tools
  • last updated 10 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- pass property name to slot "initialize" method to conform with the interface to "assign", "get" ... (all these receive the property name as well) - allow slot "initialize" method to be protected (handled similarly to "init")

nsf.c: - added object parameter option "slotinitialize" - renamed object parameter option "invokesetter" -> "slotassign" - call slot.assign instead of setter of object - removed restriction on nosetter/invokesetter: nosetter can be used in connection with slotassign - added regression test for slot.initialize

- Fixed a bad interaction between Tcl's apply (pushing lambda frames) and the variable resolvers. The variable resolver was not able to resolve variables, while the command resolver was still working correctly. - Extended regression test

Improve wording in instructions

Improve comments

documented dependencies between configure flags and feature activation cpp macros

- improve error message to indicate, that nsf refuses to overwrite (redefine) some cmds

- don't allow method to overwrite child object - extended regression test - documented new feature as incompatibility with XOTcl 1

- don't allow object creation to overwrite non-object cmds (e.g. procs)

- improve debug line

- library/lib/nxdoc-xowiki.tcl: Finished and polished the xowiki backend for nxdoc. Some tests regarding relative paths and the treeview generation are pending ... - library/lib/nxdoc-xowiki.tcl: Use the built-in base64 facility if running under Tcl 8.6 - Due to re-introducing nested-object-as-method semantics lately, nxdoc started stumbling over name conflicts between nested entity hierarchies (i.e., the entity object representing "/cls/ class info class" ...) and equally-named introspection calls on such entities (e.g., a "info class" call). I made these calls more robust my using -system dispatches; which is fine as long as we do not have sth. like "/obj/ info eval". Generally speaking, the risk of such naming conflicts discredits the use of object nesting in nxdoc; should eventually be revised. Or, as work-around: Using a filter on Entity instances to protect/redirect critical calls.

    • -35
    • +354
    /library/lib/nxdoc-xowiki.tcl
- tests/serialize.test: Added some basic regression tests, in particular to challenge the filter options provided by Serializer->deepSerialize() and Serializer->all(). - Included a test for commit 595e6a2. - Along the line, two minor issues where fixed: 1) Set Serializer->ignore() to public, otherwise the various external message sends to this method would fail; 2) Object-serialize() did not distinguish between serialising a per-object or per-class container properly; as a consequence, per-object containers were not restored at all. Add a test covering this.

    • -0
    • +167
    /tests/serialize.test
- library/serialize/serializer.tcl: Due to the split between serializer and object system serializer, the ignore settings (passed as object variables, i.e., ignoreVarRE) got lost. This is fixed now ...

- treating incompatible forwarding to slot vs. slot option noaccessor - extended regression test

- use Tcl's EXTERN macro instead of "extern"

update release procedure

- mv next-tutorial (source, images) into own subdirectory doc/next-tutorial/

    • binary
    /doc/next-tutorial/languages.png
    • -0
    • +4001
    /doc/next-tutorial/next-tutorial.html
    • -0
    • +2309
    /doc/next-tutorial/next-tutorial.txt
    • -0
    • +638
    /doc/next-tutorial/object-class-appclass.graffle
    • binary
    /doc/next-tutorial/object-class-appclass.png
    • -0
    • +2498
    /doc/next-tutorial/object-parameter.graffle
    • binary
    /doc/next-tutorial/object-parameter.png
    • -0
    • +420
    /doc/next-tutorial/object-stack.graffle
    • binary
    /doc/next-tutorial/object-stack.png
    • -0
    • +719
    /doc/next-tutorial/per-class-mixin.graffle
    • binary
    /doc/next-tutorial/per-class-mixin.png
    • -0
    • +722
    /doc/next-tutorial/per-object-mixin.graffle
  1. … 27 more files in changeset.
- Bump version number of head to 2.0b4

improve wording

Added README.release Added Annoice 2.0b3

extended blacklist for tar file

- 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