stefan sobernig <> in nsf

* nsf.c (NsfOUplevelMethod, NsfOUpvarMethod): Silence compiler warnings on nonnull/NULL compares.

* 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. *, methods.test: Added documentation for both methods ( and tests.

Fix YAML syntax

appveyor.yml: Provide for caching the tclkit running the build script, to improve robustness and availability

* nx.tcl, xotcl2.tcl: Fully qualify uses of Tcl's upvar and uplevel, to avoid confusion when introducing equally named procs/ cmds in the OS namespaces.

    • -10
    • +10
* win/ COMDAT folding can lead to unusable, pointless function-pointer comparisons (Nsf_ConvertToSwitch vs. Nsf_ConvertToBoolean). Reported for /opt:icf under Visual Studio 2017 under x86. Kudos to Ashok P. Nadkarni.

* .travis.yml, appveyor.yml: Update build array to 8.6.9

* nsf-cmd.test: Make new tests 8.5-savy

* nsf.c (NsfProcStub): Re-order logic, so that the availability of a shadow proc cmd is tested first (re-fetch) and the parameter passing comes second, conditional on an available dispatch target.

* nsf-cmd.test: Add test rename (target) conflicts for the shadowed procs; improve test formatting

nsf.c (NsfStubProc): Improve comment formatting

* nsf-cmd.test: Modernize tests to work on error codes.

* nsf.c, nsf-cmd.test: Fixed nsf::procs for (unintended) deletes of the shadowed proc, plus test cases.

* nsf.c, nsfShadow.c (NsfProcStubDeleteProc, Nsf_RenameObjCmd): Provide for coupled renaming of the nsf::proc pairs; and coupled deletion.

* nsf.c (NsfProcStub, InvokeShadowedProc): Provide for re-fetching (e.g., deleted) ::nsf::procs::* commands, to allow for renamed nsf::procs to run. * nsf-cmd.test: Added test to cover re-fetch

* nsf.c, nsfInt.h (NsfProcStub, NsfProcClientData): Apply namespace reform to nsf::procs, to prevent proc redefinition after a proc rename to fail. * nsf-cmd.test: Add test case to document/ to cover failing rename + redefine.

Merge branch 'master' of ssh://

* disposition.test, parameters.test: Adjust tests to reflect the changed representational behaviour for numerics (int, wide) according to TIP 514 (now in Tcl 8.7a2+).

*, win/ Add TCL_PKG_PREFER_LATEST to avoid version hickups (stable beating latest) somewhere from TCLLIBPATH etc.

* configure: Make sure configure is stashed with repo, as autotools are not automatically re-generated (e.g., in build array)

* object-system.test: Add a simple test to catch incomplete version bumps earlier

* Announce2.2.0: Improve spelling [skip ci]

* Announce2.2.0: Updated git summary stats [skip ci]

* ChangeLog-2.1.0-2.2.0.log: Add recent commits [skip ci]

* ChangeLog-2.1.0-2.2.0.log: Add recent commits [skip ci]

* Announce2.2.0: Improve spelling

* ChangeLog-2.1.0-2.2.0.log: Add recent commits [skip ci]

* ChangeLog-2.1.0-2.2.0.log: Add recent commits [skip ci]

next-migration.txt, next-tutorial.txt: Minor corrections, adding section on substdefault to tutorial

    • -5747
    • +5747
    • -4160
    • +3461
    • -7
    • +48
* configure.3, current.3, next.3, nxsh.1, nxwish.1, xotclsh.1, xowish.1: Re-generated to reflect bumped version. [skip ci]