nsf

Clone Tools
  • last updated 20 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- altered default handling to honor side effects of aliased object parameters. This slows down evaluation a little. Side-effects from aliased parameters are discouraged, since the order of the evaluation should not matter of an declarative evaluation of the argument vector. - extended regression test

- added tk-spread and tk-locomotive to example scripts

    • -0
    • +946
    /doc/example-scripts/tk-locomotive.html
    • binary
    /doc/example-scripts/tk-locomotive.png
    • -0
    • +196
    /doc/example-scripts/tk-locomotive.tcl
    • -0
    • +887
    /doc/example-scripts/tk-spread.html
    • binary
    /doc/example-scripts/tk-spread.png
    • -0
    • +115
    /doc/example-scripts/tk-spread.tcl
- added per-object traits (and per-class-object traits)

- traits: renamed "useTrait" into "require trait"

    • -5
    • +5
    /doc/example-scripts/tk-horse-race.html
    • -4
    • +4
    /doc/example-scripts/tk-horse-race.tcl
    • -5
    • +5
    /doc/example-scripts/traits-composite.tcl
    • -3
    • +3
    /doc/example-scripts/traits-simple.html
    • -2
    • +2
    /doc/example-scripts/traits-simple.tcl
-nx.tcl: - make "/object/ require" an ensemble method

- TODO: Filed an issue found for parameter defaults, so that we don't forget to take a look ...

- fix typo

- nx-traits: * use "info methods -closure" instead of instantiating a class at trait-insertion time * added trait as package nx::callback

- example scripts: added tk-mini and tk-horse-race

    • -0
    • +896
    /doc/example-scripts/tk-horse-race.html
    • binary
    /doc/example-scripts/tk-horse-race.png
    • -0
    • +153
    /doc/example-scripts/tk-horse-race.tcl
    • -0
    • +778
    /doc/example-scripts/tk-mini.html
    • binary
    /doc/example-scripts/tk-mini.png
    • -0
    • +37
    /doc/example-scripts/tk-mini.tcl
    • -2
    • +3
    /doc/example-scripts/traits-simple.html
    • -0
    • +17
    /library/lib/nx-callback.tcl
- nsf.c: * add flags "-closure" and "-source" to "/cls/ info methods" (the cases for "/obj/ info methods" are already covered by "/obj/ info lookup methods") * extend regression test

- doc: * extended method resolution section * documented invocation flags for colon

- nx.tcl: * do not namespace import my into ::nx * replace usages of "my" by colon invocations

- nsf.c: cleanup on DEBUG86B2

- library/lib/nxdoc-assets/body.html.yuidoc: Added a tiny piece of missing styling markup ...

- library/lib/nxdoc-core.tcl: Major refactoring accomplished: Managed to refactor the validation code into a separate module, obtain a better separation between the backend implementations, ... Relocate the validate() method implementations into the Validator mixin layer. Validation (the validate cascade) is now triggered from within the mixin layer ... further improves the separation of concerns in nxdoc ... Also, moved frontend code into two distinct Tcl packages: We now distinguish between the DC ("Documentation Comments") and the XODoc frontends. I also remastered the entire frontend handling and disentangled the various concerns: specifying documentation sources, 1st- and 2nd pass handling, etc. - Support for document multiple Tcl packages per NXDoc project. Multi-package support, plus validation mode for packages, adding missing files to the repo - tests/doc.test: General cleanup, deactivated some tests for the time being (till the DC interface settles) - library/lib/nxdoc-core.tcl: Removed dead comments and dead codex - YUIDoc template suite: Added Monikas recent adaptations/extensions. I still have to check the resource paths for the xowiki backend, which are most probably broken for now. - Adjusted TODO for accomplished tasks.

    • -0
    • +0
    /library/lib/nxdoc-assets/yuidoc/ac.js
    • -0
    • +0
    /library/lib/nxdoc-assets/yuidoc/api.css
    • -0
    • +0
    /library/lib/nxdoc-assets/yuidoc/api.js
    • -5
    • +5
    /library/lib/nxdoc-assets/yuidoc/base.css
  1. … 7 more files in changeset.
- documentation updates

nonleadingdash handling: - doc: added "nonleadingdash" to UML class diagramm - nsf.c: added error message, when "noleadingdash" is used on non-positional parameters - nsf.c: use same logic for "nonleadingdash" to "value in argument" - nsf.c: deactivated rudimentary unknown handler for the time being - nx.tcl: added handling of parameter option "noleadingdash" in objectParameterSlots

- added "nonleadingdash" to UML class diagramm

- add traits package and example scripts

    • -0
    • +899
    /doc/example-scripts/traits-composite.html
    • -0
    • +99
    /doc/example-scripts/traits-composite.tcl
    • -0
    • +846
    /doc/example-scripts/traits-simple.html
    • -0
    • +64
    /doc/example-scripts/traits-simple.tcl
    • -0
    • +78
    /library/lib/nx-traits.tcl
- fix typo

nsf.c: - don't convert obj types tclCmdName and parsedVarNameType to instanceMethodObjType

- documentation updates: use term "instance method", some clarifications

- remove duplicate calculation of pcPtr->objc

- cleanup on nsfObj.c

- perform more eager invalidation on objectMethodEpochs

- minor cleanup

- added MixinregDupInternalRep() and FilterregDupInternalRep

tests: - added "package prefer latest" to avoid confusions of alpha and beta releases with install versions

nsf.c: - new cmd for debugging: nsf::__db_show_obj - added MethodDupInternalRep() and FlagDupInternalRep() since they appear to be required in Tcl 8.6b2.

nsf.c: - moved methodEpochCounters from global vars to the interp state to improve resue in multi threaded apps - separated objectMethodEpoch and instanceMethodEpoch - bump version number to 2.0a2

- minor cleanup