nsf

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- replace nx::configure option defaultPropertyCallProtection by defaultAccessor

- protect trf against leading dashes

- deactivate tests in library file

- add additional "convertto" when generating zip files from strings

The asciidoc-related configuration artifacts, especially for Tcl/NSF-specific code highlighting, are now contained in the source distribution and integrated with the respective make targets. Besides a running asciidoc installation, there is no further configuration need. Tested with asciidoc 8.6.8

    • -0
    • +2
    /apps/utils/asciidoc.conf
    • -0
    • +5
    /apps/utils/source-highlight-with-pp
Extending test case to cover slotassign issue

Adding a test and a temporary fix for the ::nsf::is issue in setCheckedInstVar

Make sure to NS_EXPORT Ns_ModuleVersion for people using still the old-style aolserver module.

Make sure to NS_EXPORT Ns_ModuleVersion for people using still the old-style aolserver module.

make assumptions explicit

nsf.c: - handling of method names in error messages from nsfAPI.h. Make sure that error message is generated with the actual method name.

nx.tcl: - property has now a boolean non-positional argument "-config" /obj|cls/ property ?-accessor value? ?-config boolean? ?-incremental? ?-class value? spec ?initblock? in symmetry with "-accessor" (parameter option "noconfig" is still needed to flag nsf for variables that should be initialized, which are not configurable - "/obj|cls/ info slot definitions" returns a full command (containing flags and property|variable) - extended regression test

- remove debug output

nsf.c: - factored out ParameterMethodForwardDispatch() to call a parameter method defined as a forwarder the smae way from "configure" and "cget" - extended regression test

- improve comment

- extended regression test

- changed name "/obj|cls/ slot info definition" to "/obj|cls/ slot info definition" since result is a set - dropped parameter method "properties" - dropped "/obj/ info properties" (since "properties" or "variables" are returned")

nx.tcl: - change parameter name in "/cls/ inif paramameter ... ?pattern?" from "name" to "pattern"

- added functiality for "cget" to call parameter-methods (e.g. "... cget -class"). The method cget calls either "/slot/ get ..." (when slot=... is provided in the parameter spec) or it assumes that the method without argument returns the value - added "::nsf::object::property /obj/ volatile" to query whether a object is volatile or not - "/obj/ cget -volatile" returns now the volatial state of the object - factored out ParameterMethodDispatch() from OConfigureMethod() - extended regression test

- invalidation of per-object parameter cache * on mixin changes and * on deletion/adding of per-object slots - decactivate PER_OBJECT_PARAMETER_CACHING per default (flipping this parameter makes regression test more than 20 faster). - extended regression test

- NsfObjInfoObjectparameterMethod(): return not only the first matching parameter, but the list of all matching ones. The last optional argument was renamed from "name" to "pattern" accordingly

- rename invalidateobjectparameter -> parameter:invalidate::classcache - rename invalidateobjobjectparameter -> parameter:invalidate::objectcache - bring cmds into alphabetical order

- first draft of per-object parameter caching (for per-object-mixins and per-object properties).

nsf.c: - fix potential bad interaction between per-object mixins and per-class caching of object-parameters

- don't blindly register all object/class methods for XOTcl

    • -13
    • +30
    /library/xotcl/library/xotcl2.tcl
Property Reform Part 2: better handling of per-object properties nsf.c: - changed "/class/ __objectconfigure" to "/obj/ __objectconfigure" to be able to handle per-object properties on classes properly. - renamed "info method parametersyntax" -> "info method syntax" - renamed "/obj|cls/ info method parametersyntax" into "/obj|cls/ info method syntax" - replaced "::nsf::methods::class::info::objectparameter" by "::nsf::methods::object::info::objectparameter" - new command "::nsf::parameter::specs ?-configure? ?-noposargs? slotobjs": convert provided slotobjs into a list of parameter specs - new command "::nsf::parameter::get list|name|syntax parameterspec": convert parameter spec into syntax form, or retrieve pieces of information from it (can be extended in the future) - added more or less generic list handling functions TclObjListFreeList(), TclObjListNewElement() and TclObjListAdd() used by "::nsf::parameter::specs" - replaced "::nsf::method::property /obj/ -per-object /name/ slotcontainer ?value?" by "::nsf::object::property /obj/ slotcontainer ?value?" - added "::nsf::object::property /obj/ hasperobjectslots ?value?"

nx.tcl:

- new info methods

* "/obj/ info lookup parameter definitions"

* "/obj/ info lookup parameter names"

* "/obj/ info lookup parameter list"

* "/obj/ info lookup parameter syntax"

- changed "/cls/ info parameter definition ?name?"

into "/cls/ info parameter definitions ?name?"

since ir returns a list. Still, "list" or "syntax" won't

be plural

    • -28
    • +15
    /library/xotcl/library/xotcl2.tcl
  1. … 4 more files in changeset.
- renamed timing variable from "time" to "ms"

- added timing statistics

- generalize handling for per-object-properties

- added addtional file for regression test

    • -0
    • +321
    /tests/properties.test