nsf

Clone Tools
  • last updated 22 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Provide Tcl9 compatibility after TIP #673

TIP #673 removed "trace variable", which was deprecated since the

release of Tcl 8.4. However, since Tcl does not warn about

deprecations, so it was not detected until TIP #673 removed the

command for Tcl9.

nsf:parseargs: honor "required" settings

The previous version was accepting e.g.

nsf::parseargs -asdict {

{-state:wordchar,required}

{-revision_id:integer,required}

{-return_url:localurl "."}

} {}

i.e. passing empty argument list where the first two arguments are required.

Now, the error is flagged properly

provide clean compilation for current Tcl9

maintenance: reflect type change of Tcl TIP 666 (use Tcl_Size for object count in TIP 627)

::mongo::oid::gettimestamp: new API call to obtain creation timestamp from OID

whitespace cleanup

Fix workflow file

* accessor.test: Added tests to document the behaviour for internally generated per-slot accessor methods * nx.tcl (VariableSlot), properties.test: Make sure that calling delete on a single-valued property/ variable errors out, like calling add * nx.tcl (defineIncrementalOperations): Rewrite to avoid repetitive computations * nx.tcl: First take on fixing definition of incremental slot operations, in presence of custom provided ones (esp. value=delete)

* accessor.test: Added a few more tests

* accessor.test: Added tests to document the behaviour for internally generated per-slot accessor methods

* nx.tcl (VariableSlot), properties.test: Make sure that calling delete on a single-valued property/ variable errors out, like calling add

* nx.tcl (defineIncrementalOperations): Rewrite to avoid repetitive computations

* nx.tcl: First take on fixing definition of incremental slot operations, in presence of custom provided ones (esp. value=delete)

* nx.tcl: Make sure to return "switch" for object parameters via info-introspection. Added some tests.

Remove core-9-0-a3 from build array [skip ci]

Adding more test cases

Adding first tests and a tentative fix

Provided a Tcl_DupInternalRepProc() function for Tcl_ObjType "nsfParam"

Recent versions of Tcl9 call Tcl_DupInternalRepProc() for Tcl_ObjType

"nsfParam", which was a placeholder function before, leading to a

Tcl_Abort(). The provided implementation provides now a basic logic

for "duplicating" internal representations of parameter lists based on

refcounts (somewhat similar to ProcBodyDup), but it has to be tested

further, with a proper test case.

The call of the Tcl_DupInternalRepProc function happens so far during

the startup of NaviServer compiled with Tcl9. It might be necessary to

overthink the competing logics of the "canDelete" member and the

reference count. For now, the intention is to get the NaviServer +

Tcl9 regression test stop from aborting.

Unarm core-9-0-a3 builds

Updates to build matrix

Updates to build matrix

Updates to build matrix

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

cleanup after TIP 660

* appveyor.yml: Force use of SCP in newer OpenSSH > 9 releases, otherwise defaulting to SFTP

Fixed warnings detected with branch "disabletcl8api"

The Tcl9 native interface is based on "Tcl_Size" instead of "int", but

the default mode hides these differences via some macro-magic. Typical

such cases are API calls like:

Tcl_ListObjLength(interp, methodObj, &length);

Tcl_ListObjGetElements(interp, methodObj, &oc, &ov)

The macro-magic queries the size of the provided parameters and uses

the old or new interface depending on it (while hiding some more

potential problems, a compiler can detect). The branch

"disabletcl8api" removes the macro-magic and reveals the potential

problem areas, where the code is still depending on the old 32bit

interface.

This commit fixes such cases and the collateral damage.

Deactivate support of TIP 629 for the time being

When NS_TCL_HAVE_TIP629 (TIP supporting > 2^31 elements in object

vectors) is activated, Tcl defines different objProcs (Tcl_ObjCmdProc

and Tcl_ObjCmdProc2) for the old and new API, where the usage of these

depends on a cmdWrapperProc. Unfortunately, the resolving of these API

calls is performed through the wrapper via CmdWrapperInfo, which is

not exported. We have to think how to resolve these to make this

working as with prior Tcl versions.

Added missing dependency for forcing recompilation

Provide support for TIP 627 (Tcl 8.7a6+ and Tcl 9)

TIP 627 introduces support for > 2^31 elements in object vectors

(e.g., number of words in a single Tcl command). For details, see

https://core.tcl-lang.org/tips/doc/trunk/tip/627.md

To provide also backwards compatibility, this change uses the macros

TCL_COMMAND_OBJPROC, TCL_CREATEOBJCOMMAND, TCL_NRCALLOBJPROC,

TCL_NRCREATECOMMAND, TCL_OBJCMDPROC_T, and TCL_OBJC_T.

  1. … 7 more files in changeset.
updated copyright notice