nsf

Clone Tools
  • last updated 18 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- changed option -expand in "info methods" and "info lookup methods" into "-path" to associate with the method path

- cleanup of __resolve_method_path - change TclShowStack into NsfShowStack() to avoid possible interference with the Tcl* namespace - made the following function static to avoid pollution of the global link namespace: CompiledColonVarFree(), GetRegObject(), ParamGetType()

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- Methodpaths can be used now in the definition of "method", "alias" and "forward." We do not support it for "setter" and "attribute", since these require a parameter spec, which does not have clear semantics for a method path. - scripted definition of nx::Object.forward and nx::Class.forward

- Major refactoring based on a minimal Mixin Layer facility to modularise optional features (such as templating, documentation verification etc.) in layers of mixins to be applied to the entire entity hierarchy. - Rewrote the html templating machinery in terms of a mixin layer: NxDocRenderer - Used the new modularisation granularity to add @glossary-specific link rendering (following ideas from http://www.alistapart.com/articles/hattrick/) - Completed glossary support and added acronym handling - Added back references and ref counting for @glossary entries (to be displayed with the glossary lists) - I added the short-cut lists for selected part types of @class entities, namely @class-method and @class-attribute. - Fixed the rendering of methods and attributes for ascending alphabetical order.

    • -8
    • +41
    /library/lib/doc-assets/class.html.tmpl
    • -1
    • +3
    /library/lib/doc-assets/entity.html.tmpl
    • -0
    • +37
    /library/lib/doc-assets/glossary.html.tmpl
    • -1
    • +0
    /library/lib/doc-assets/leftbar.html.tmpl
    • -137
    • +169
    /library/lib/doc-tools.tcl
- added syntax "?arg ...?" in parametsyntax output for "args" - removed "info forward" from nx::Object and nx::Class (can be replaced by "info methods" and "info method")

- allow %method in forwarder. - defined unknown methods as call-protected - make __default_method_protection protected

- extended regression test for "current methodpath"

- push stack frame before calling the defaultcmd of an ensemble object to make implementation more simple. - simplified EnsembleObject.defaultcmd and EnsembleObject.unknown significantly, scripted support methods are removed. - extended regression test

- nsf::current: new option "methodpath", returns the full name of an ensemble method starting from the ensemble root. - documented functions in nfsStack.c - removed obsolete CallStackGetFrame(), replaced by CallStackGetTopFrame()

- factored out ParamGetType() to obtain from a paramPtr a type string - parametersyntax: * changed "... -x arg ..." into ".... -x value ..." * changed multiple values notation from "list" to "..."

- strip space from source files

- "info method parametersyntax" returns now for all nonpos args the type instead of "arg" when possible (eg ..... ?-x object? ....) - extended regression test

- provide full set of ensemble methods from EnsembleObject.unknown (i.e. from all classes along the precedence order. It was necessary to pass calling object as first argument)

- "info lookup methods": order of non-pos parameters alphabetically - added option "-expand" to "info lookup methods ". It collects ensemble methods along the precedence path - added support for ensemble methods in "info lookup method" - extended regression test

- updated TODO

- make serializer more quiet

- nsf.c: use name "varTablePtr" instead of "varTable" when referring to the table - new option "slotcontainer" for "methodproperty" to flag slotcontainer to make them easier to process in the serializer . don't report slot container in "info methods -expand" - new function "::nx::isSlotContainer" to centralize checking for slotcontainers (used by serilaizer) - support export of method ensembles in serializer

    • -46
    • +13
    /library/serialize/serializer.tcl
- new option "-expand" for "obj|class info methods" to return compound names (i.e. it lists the full ensemble names) Example: ::nx::Object info methods -expand "*filter*" returns filter {info filter guard} {info filter methods} {info lookup filter} - allow ensemble names in nsf::methodproperty - fix compound name lookups when aliases link to shared ensemble objects - make objectName() NULL-safe - fix option "-source application" when applied directly on base-classes - extend regression test

- make test more quiet

- serializer: experimental code to serialize submethods

- "info method submethods": return all submethods, independent from protection

- fix potential crash in ::nx::Object info method definition ::nsf::methods::object::instvar

- fix typo

- slots: * change name "initcmd" of "experimental slot features" to "defaultcmd" to avoid naming conflict the the initcmd executed at the initilization of a slot object (effects XOTcl as well) * make defaultcmd/valuecmd/valuechangedcmd working for nx (absence of trace method) * provide error message, when default/defaultcmd/valuecmd are used non-exclusively * make sure to init per-object slots after copy operations * make nx::Attribute.destroy more definsive * extend test cases

    • -19
    • +16
    /library/xotcl/tests/slottest.xotcl
- nsf: added flag NSF_DESTROY_CALLED_SUCCESS in addition to NSF_DESTROY_CALLED to distinguish between attempted and successful destroy method invocations (important for cleanup)

- update with decls generated from tcl 8.5.9

- serializer: * added support for ordering on aliases referencing other objects/classes * provide shared version of the method warn via alias and removed direct output to stderr

- XOTcl 2: allow info slots for objects as well

- reduce size of output of serializer - make nx::Object.serialize public