TODO

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
New feature: added support for return value checker for nsf::proc

One can now specify "-returns ...." in nsf::proc commands the same way

as in nx/XOTcl2 methods.

nsf::proc ... /procName/ /arguments/ ?-returns /valueconstraint/? /body/

When return value checkers are defined, these are returned by the

usual introspection interface.

% nsf::proc ::foo {-a:integer} -returns integer {return 1}

% nsf::cmd::info definition ::foo

::nsf::proc ::foo -a:integer -returns integer {return 1}

% nsf::cmd::info returns ::foo

integer

The regression test was extended to cover these cases.

  1. … 5 more files in changeset.
improve spelling

* nsf.c (NsfOUplevelMethod, NsfOUpvarMethod, NsfCallstackFindCallingContext): Reform of uplevel and upvar methods, based on the recent feedback by Zoran. First, uplevel and upvar methods, as well as [current callinglevel] now behave consistently (re frame skipping for mixin and filter transparency). If there is no innermost enclosing proc frame, the innermost non-proc (e.g., namespace) frame is selected (rather than a "#0" as default). Second, argument handling for both uplevel (i.e., level sniffing in multi-arg case) and upvar (e.g., made silent TCL_ERROR for invalid argument arities explicit) have been fixed. * Object.man, methods.test: Added documentation for both methods (Object.man) and tests.

  1. … 7 more files in changeset.
Add a to-do item on upvar/ uplevel

Add a TODO

Leave some to-dos

coloncmd reform (part 2): generalize code and apply for object specific commands as well

  1. … 3 more files in changeset.
coloncmd reform (part 1): improve dispatch of [:method ...] by up to 30%

  1. … 1 more file in changeset.
* nsf.c (ParamOptionParse, ParamDefinitionParse, ParamDefsParse), parameters.test: Small "type=" converterArg reform. Provided additional parameter in param-parser machinery, to communicate a (namespace) qualifier into ParamOptionParse. This way, the unqualified type=* values are now expanded to qualified names (definition scope): method parameters, nsf::is, nsf::parseargs, setter methods. Type=* in object parameters are currently expanded at the slot level, could also be added. New tests were added, existing ones adjusted to reflect the new behaviour.

  1. … 2 more files in changeset.
Add some general to-dos on the way

fix typos, updaty copyright years according to commits

  1. … 13 more files in changeset.
Fix typos

  1. … 63 more files in changeset.
Add another to-do item

Add to-do items

Add to-do item

Improve spelling

  1. … 43 more files in changeset.
Fix wording in TODO

Leave some TODOs to think about

* TODO: Add a to-do in filters and unknown-creates in XOTcl 2

* TODO: Add a to-do in filters and unknown-creates in XOTcl 2

Update TODO

- make hint more explicit and verbose

  1. … 1 more file in changeset.
Add another TODO/discussion item

Add a to-do: NsfMethodContext memcounts

- don't call tcl eval operations from NsfLog() in phyical destroy round - extend regression test for shell with tests in [info nameofexecutable] rather than in nxhs

  1. … 2 more files in changeset.
Update to-dos

- improve sanity test in ISOBJ(): obj->bytes might only be NULL when type is given.

  1. … 2 more files in changeset.
Add a to-do on refcounting under 8.5

- new subcommand "nsf::current level", returns empty, if we are not on a nsf frame/level. - keep compatibility with traditional "nsf::current activelevel" (continue to return 1, if we are not on an nsf frame)

  1. … 3 more files in changeset.
- return from "nsf::current callinglevel" the value 0 (instead of 1), when it is called outside of a frame, which has a nsf object associated.

  1. … 2 more files in changeset.