stefan sobernig <> in nsf

Fix call example

Leave some to-dos

* dtrace/README: Updated instructions to cover SIP deactivation, minor corrections. Added one more D script (nsf_calltime.d). * nsfDTrace.h: Re-generated.

    • -0
    • +130
Merge branch 'master' of ssh://

* nsf.c (NsfConfigureCmd): Fix NSF_DTRACE=1 builds.

* gentclAPI.tcl, nsfAPI.decls (createconverter): Support for "-global 1" flag that will cause the options array corresponding to an enumeration to become available as a global, properly Nsf_* prefixed symbol. Used for NsfConfigureCmd and the corresponding DTrace probe, for now.

* source-doc-beautifier.tcl: Remove in-block range markers within test bodies to prettify the ADOC output.

    • -1
    • +10
* msgcat.test: Added a small collection of basic tests covering msgcat usage from within NSF/NX objects and classes. Tested successfully with mainline Tcl 8.6 and the TIP-490 branch "tip490-msgcat-oo-2".

    • -0
    • +102
* nsf.c (NextSearchAndInvoke): Relax the pre-conditions, objv can actually be NULL (see test cases). Besides, the assertion was not reflected by a corresponding nonnull constraints on the NextSearchAndInvoke prototype.

Merge branch 'master' of ssh://

nx-test.tcl (exit): Fix the return trampoline for [exit] during test runs

Fix another 86/85 glitch

Make test suite working under 8.5, again.

    • -0
    • +173
* nsf.c (ParamOptionParse): Fixed typo in error msg.

* nsf.c (NSCheckNamespace): Simplify resource management of a DString.

* nsf.c (ParamSetFromAny2): Fix inline comment.

* 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.

* nx.tcl, nx-mongo.tcl (parseParamSpec): Render target parameter non-positional, so that MetaSlot.parseParamSpec() becomes backward compatible. Adjusted callsites of parseParamSpec.

* nsf.c (ParamParse): Fix crash when ParamParse is called with an empty-string argument, e.g. nsf::parameter::info type "". Tests provided.

Add another to-do item

Add to-do items

* nsf.c (NsfParseArgsCmd): Fix another edge case (empty spec and/or empty argv), added more tests. See also TODO.

* nsf.c (NsfParseArgsCmd): Fix nsf::parseargs for the case of Tcl-only params, otherwise, it crashes due to an uninitialized params structure. Added some tests.

* nsf.c (ParamDefsParse): Fix small typo "allowedOptinons" -> "allowedOptions"

* nx.tcl (Class.variable): Clean up a left-over.

* nx.tcl (Class.variable()): Re-order the substdefault-handling block to render it more meaningful.

Add to-do item

* nx.tcl (substdefault): Unify and harden substdefault handling. Both, per-class and per-object substdefault should now behave similarly in absence of a pair of evaluation brackets. Also, an attempt is made to capture ill-formed input to subst earlier ([info complete]). An actual substdefault reform, however, must tackle the [subst] calls (-novariables?) and make the calls more robust (at the script and C level; [apply]-like?). Added some tests for documentation.

parameters.test: Simplify test case slightly.

* nx.tcl (MetaSlot.parseParameterSpec): Refine handling of the type converter to expand unqualified names to the "nearer" namespace (i.e., namespace of the slot-owning object) rather than "". Along the way, intercept invalid type=* values earlier (empty string, "::"). Added some tests.