nsf

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
serializer.tcl - added flag -objmap to Serialzer.deepSerialize to make serialzer usable for copying (-map is to coarse) - extended regression test

    • -18
    • +37
    /library/serialize/serializer.tcl
Adjusted nxdoc for the recent changes to NSF/NX

nsf.c - removed obsolete function AssertionAppendPrePost() - removed obsolete function NsfNSCopyCmdsCmd() and ::nsf::nscopycmd (handled now more general on scripting level in the "copy" method)

nx.tcl:

- "copy" method: fixed copying of class-level per-object methods

- extended regression tests

nsf.c - fixed a potental crash for objects having a wrapperless alias defined

Merge with remote branch

Make sure that the original error message is preserved when calling destroy after a failed CMD or INITCMD

nsf.c - fixed a bug in "info methods returns" in cases, where no returns info was available. - we can "/obj/ copy" now objects/classes containing * aliases * setter * ensemble methods * method protections Instead of handling cmd copying in NsfNSCopyCmdsCmd, it is replaced now by introspection. - extended regression test

nx::test: - deactivate calling overhead calculation, since this is not reliable (sometimes larger than the call).

- improved handling of required configure parameters when classes are changed dynamically. When configure parameter are defined required, checking for the absence of required parameter was only performed at creation time. When objects were re-classed or their classes extended with required parameters, later calls to configure did not trigger exceptions. Now we check for the existence of the instance variable which addresses most of these points, but in future we might wish a more general solution (see comment for futures releases)

- when creation with an required configure parameter failed, delete the half-baked object to avoid confusing states.

- nx::test: show msg at start of test file

- changed multiplicity of mixin, object-mixin, filter, object-filter from 1..n to 0..n; rationale: when one has a list of eg. mixins, which should be passed, one has to test for the length before passing it, otherwise the empty list would generate an error. Allowing 0..n makes the usage simpler and the program shorter.

nx.tcl: - renamed variable option "-config" to "-configurable" to make its intention clearer

    • -22
    • +17
    /doc/next-tutorial/slots.graffle
- traits: added ability to trun on verbosity for traits by using nx::configure trait-verbosity on|off

nx.tcl: - replaced functionality of "/obj/ configure" by "/obj/ info configure" to re-enable semantics of the plain configure method, even when called without arguments. "/obj/ info configure" is actually a convenience method to allow to write o1 info configure instead of o1 info lookup configure syntax

package nx::class-method: - convenience package similar to nx::plain-object-method - allow for usage "C class method ..." in addition to "C object method". - made warnings configurable via nx::configure class-method-warning on|off - completed coverage and test cases

    • -4
    • +58
    /library/nx/plain-object-method.tcl
    • -0
    • +124
    /tests/class-method.test
package nx::plain-object-method: - made warnings configurable via nx::configure plain-object-method-warning on|off - completed coverage and test cases

    • -42
    • +41
    /library/nx/plain-object-method.tcl
nsf.c - fixed potential inifinite loop in pattern matching for precedence lists - cget: make error message closer to tcl conventions - extended regression test

- adapt to object methods

- prevent default value checking, when it is determined by a command

- completed coverage if plain-object-method.tcl - provide warnings via plain-object-method.tcl via "nsf::log warn ..."

    • -9
    • +14
    /library/nx/plain-object-method.tcl
- renamed initblock parameter from __initcmd to __initblock - renamed nsf::configure parameter from "keepinitcmds" to "keepcmds" - saving "keepcmds" in an associative array named "__cmd(/parameternName)" to allow saving of multiple parmeters with less nameclash danger (when application stays away from variables stating with double underscore)

    • -2463
    • +164
    /doc/next-tutorial/slots.graffle
  1. … 3 more files in changeset.
nx.tcl: - removed "info is .." since it might raise more questions than it solves

- changed enumeration values for "-source" in "info lookup methods" "info lookup slots" "info methods" "info slots" of "all|application|baseclasses" to "all|application|system" for consistencey with "nsf::my" and "nsf::dispatch" which uses "-system" as well

Traits: - changed from traits-as-objects to traits-as-classes. This allows for higher orthogonality of traits and class definitons and allows in principle traits for object-specific methods (not fully implemented/tested) - fixed property/variable inheritance in traits.

    • -11
    • +12
    /doc/example-scripts/traits-composite.tcl
    • -9
    • +9
    /doc/example-scripts/traits-simple.tcl
- remove spurious debug line

Cleanup of nsfAPI.decls - remove unneeded enumeration types - use "typeName" to shorten reported names of parameters - use camel case for reported names

- changed ::nsf::parametersyntax(..) to ::nsf::parameter::syntax(..) - xotcl2: adjusted manual parameter syntax entries to new conventions

    • -25
    • +27
    /library/xotcl/library/xotcl2.tcl
- added implementation for slots with traces+types for classes - exception for incorrect defaults are thrown during slot creation - extended nsf::is, added parameter * ?-configure? -- accept configure paramter options * ?-name /name/? -- provide a parameter name for error message - simplified nx.tcl by using new nsf::is - extended regression test

- added partly implementation for slots with traces+types for classes