nsf

Clone Tools
  • last updated 23 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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
- library/xotcl/library/xotcl2.tcl: Provided a virtual slot "multivalued" to establish backward compatibility with XOTcl1 - library/xotcl/tests/slottest.xotcl: Added some tests on backward compatibility for XOTcl slots

    • -5
    • +60
    /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

- fix typo

- serializer: * pertain perobjectdispatch and keepcallerself in serializer * extend regression test

nsf.c: - generalize stack monitor by handling growing and shrinking stacks - refactor into funciton CheckCStack()

- serializer: * make [::Serializer deepSerialize -ignoreVarsRE "" $o] behave like [::Serializer deepSerialize $o], since learn@wu depends on that, and a value for ignoreVarsRE of empty looks more like an omitted value than a regular expression, that should match everything. * extended regression test

- extended regression test

- added compile macro NSF_STACKCHECK to provide stack monitoring/debugging (especially useful for multi threaded programs, where stack is more limited)

- make ::nsf::log more robust for aolserver/naviserver, since ::ns_log is not always around when an output is needed

- don't hide call to make.tcl

- protect serial generation for parameters via mutex

- fix compilation when compiled without threads (many thanks for r.zaumseil for noting this).

- tcl86.test: better implementation of method "each", cleanup and extension of enumerator tests

- extended regression tests for yield - implemented "next" for ruby-like enumerators (each needs still more work)

- 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