nsf

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- fixed cases, where valuechangedcmd (and the other traces) did not work with "configure" method. When slot traces are used, it cleans other traces for the same operations. - extended regression test

Clear the TODOs

- nsf.c: fix crash when "nsf::my" is called with a single argument outside the object context.

- fix assert

- removed some TODOs from tests/parameters.test

- parameter dispositions:

We differentiate now between "initcmd" and "cmd": an "initcmd" is only

evaluated once, but one can provide configure values for this parameter

later. a "cmd" is executed on every evaluation, it is only possible

to pass cmds to it. The trailing argument of the configure parameters

(used e.g. for scripted object/class definitions) is now of type "cmd".

Implementation not yet complete (object cases are not correct).

- streamline documentation

- C-code Generator: added "-typeName" for enumeration types that allows for disambiguation of enumerations with different argument names. Before that, the argument name determined the c-type of the enumeration. Therefore it was not possible to use argName "-type" for two different functions with a different list of enumerators.

- changed "-methodtype" to simply "-type" in

/obj/ info methods ... ?-type all|scripted|builtin|alias|forwarder|object|setter|nsfproc? ...

/obj/ info object methods ... ?-type all|scripted|builtin|alias|forwarder|object|setter|nsfproc? ...

/obj/ info lookup methods ... ?-type all|scripted|builtin|alias|forwarder|object|setter|nsfproc? ...

- minor code cleanup

- streamlined AddSlotObjects()

- cleanup of TODOs

- nsf.c: handle full-qualified name for private slots (AddSlotObjects()) - extended regression test

- updated next-tutorial: * bring definitions of properties and variables up to date * fix "object methods"

    • -0
    • +1281
    /doc/next-tutorial/configure-parameter.graffle
    • binary
    /doc/next-tutorial/configure-parameter.png
    • -121
    • +159
    /doc/next-tutorial/next-tutorial.html
    • -121
    • +161
    /doc/next-tutorial/next-tutorial.txt
    • -1127
    • +71
    /doc/next-tutorial/person-student.graffle
    • binary
    /doc/next-tutorial/person-student.png
- XOTcl2: ensure public accessor when "-parameter ..." is used

- extended parameter extractor: new functionality ::nsf::parameter get default /parameter/ ?/varname/? ::nsf::parameter get type /parameter/ /obj/ info parameter get default /parameter/ ?/varname/? /obj/ info parameter get type /parameter/

- hopefully the last changes for ?object? method|variable|property: defined * "/obj/ delete object method" * "/obj/ delete object property" * "/obj/ delete object variable"

- "info method syntax" returns now "/cls/ ...." - "info object method syntax" returns now "/obj/ ...."

- updated next-migration guide to reflect changes from the configure reform

- make name fully qualified for symmetry reasons

- minor cleanup

- nx-pp.tcl: fixed changed accessor handling, added cget to highlight words

- added new regression test info-variables.test

    • -0
    • +267
    /tests/info-variable.test
Method and configure parameter reform, Part 3: - added

/cls/ info lookup variables -> list of handles

/obj/ info lookup object variables -> list of handles

/obj/ info variable definition|name|parameter /handle/

- nx.tcl: added forward compatible scripted implementation of "lmap"

- nsf.c: handle names for private slots in pattern provided to AddSlotObjects(),

used e.g. in "info lookup slots /pattern/"

- dropped "/obj/ info slot definition /obj/" in favor of "/slotobj/ definition"

- nx.tcl: handle "incremental" in slot reconfigure - nx.tcl: change defaultAccessor to "none"

    • -1
    • +1
    /doc/example-scripts/traits-composite.tcl
    • -1
    • +1
    /doc/example-scripts/traits-simple.tcl
  1. … 6 more files in changeset.
Method and configure parameter reform, Part 2: In order to streamline the interface further, we tried to follow the idea to use "... info /plural word/" to obtain a set of handles, and then a separate call to obtain the details. Therefore, we replaced

/cls/ info slot objects

/cls/ info slot definitions

/cls/ info slot names

/obj/ info object slot objects

/obj/ info object slot definitions

/obj/ info object slot names

/obj/ info lookup slots

by

/cls/ info slots ?-type /type/? ?-closure? ?-source all|application|baseclasses? ?/pattern/?

/obj/ info object slots ?-type /type/? ?/pattern/?

/obj/ info slot definition /obj/

/obj/ info lookup slots ?-type /type/? ?-source all|application|baseclasses? ?/pattern/?

- Method and configure parameter reform

/cls/ info configure parameters ?pattern? -> list of params

/cls/ info configure syntax -> syntax output

/obj/ info method parameters /methodName/ ?/pattern/? -> list of params

/obj/ info method syntax -> syntax output

/obj/ info lookup configure parameter ?/pattern/? -> list of params

/obj/ info lookup configure syntax -> syntax output

/cls/ info parameter list|name|syntax /param/ -> value

- avoid crash in case NsfParameterGetCmd() is passed a plain value

- minor documentation updates

- initialize stub-tables only once

- syntax formatter: use /value/ for denoting placeholder in "... info method syntax ..."