2021-05-25 Gustaf Neumann * nsf.c (ParamOptionParse): Do not support predefined parameter options spelled with trailing content This change makes argument type checking more strict by rejecting names as synonyms which are longer than the specified values. Background: Previous versions did not handle cases correctly where an application type name starts with the same characters as a built-in type. So it was not possible to define a type "object_id", since a a spec of the form "x:object_id" was interpreted as "x:object". [9bc1a996] 2021-05-13 Stefan Sobernig * build.yml: clang 11 is default on macos-latest runners; add remaining macos configs [f29f3c69] * build.yml: Fix expressions [cf79aef0] * build.yml: Remove artifacts from workflow [4f7b34fe] * build.yml: Added initial GitHub Actions workflow enabling Linux and macOS builds [e372b812] 2021-05-12 Stefan Sobernig * appveyor.yml: Bump build matrix to include the tag 8.6.11 [7bb2abc4] 2021-05-11 Stefan Sobernig * nsfAccessInt.h (TclIsCommandDeleted), nsf.c, nsfObj.c: More recent Tcl 8.7 (starting Sep 2020) has replaced the macro CMD_IS_DELETED by CMD_DYING. [e01e3055] 2021-05-05 Stefan Sobernig * nsf.c (ParamOptionParse): Simplify option parsing for substdefault; Tcl_GetInt knows how to handle 0b binary constants, no expr call needed. [9e705a33] * nsf.c (VolatileMethod): Save a little by checking first chars [eb3b441c] 2021-05-02 Stefan Sobernig * nsf.c (VolatileMethod), volatile.test: Fix volatile for XOTcl 2: frame skipping must be limited to configure, otherwise, for self calls (e.g., 'my volatile'), the sentinal variable plus unset trace become created in the wrong callframe context (leading to corruption of any non-proc callframe); added test cases [3916bf00] 2021-02-17 Gustaf Neumann * nsfProfile.c (NsfProfileDebugExit): Fix provided length values for string arguments [460ae16a] 2021-02-06 Gustaf Neumann * nx.tcl: Whitespace cleanup (replace tabs) [75f60be7] * nx.tcl: Make warning message more precise about unexpected slot structures during delete [473a993c] 2021-01-03 Gustaf Neumann * Makefile.in: Added target for clang-tidy, fine-tuning of compile flags [e3c98331] * generic/nsf.c, generic/nsf.h, generic/nsfAPI.decls, generic/nsfAPI.h, generic/nsfInt.h, library/mongodb/mongoAPI.h: Added enumeration values [f0f87b41] * gentclAPI.tcl: Added support for enumeration values replaced anonymous arrays by dicts [91a7b7d1] 2021-01-02 Gustaf Neumann * generic/gentclAPI.tcl, generic/nsfAPI.h: Improve type safety of generated code [deed56d5] * generic/*/*.h: Reduced usage of reserved identifiers: cert-dcl37-c, cert-dcl51-cpp [65d1c0f8] * generic/aolstub.c, generic/asm/asmAssembleTemplate.c, generic/asm/nsfAsmAssemble.c, generic/nsf.c, generic/nsfObj.c, generic/nsfProfile.c, generic/nsfStack.c: Improve comments and spelling [84ebec01] * generic/*/*.c: Improve regularity and linebreaking in comments, mostly in function headers [42dbfd5d] 2021-01-01 Gustaf Neumann * generic/*/*.c: Whitespace changes: more consistent indentation of comments [83e2a1bc] * doc/next-migration.txt, doc/next-tutorial/next-tutorial.txt, generic/predefined_part1.tcl, generic/predefined_part2.tcl: Improve spelling [18b65162] 2020-10-28 Gustaf Neumann * nsf.c (ObjectDispatch): Add one more test to sanity check [a4cc4075]; added debugging output for a case, where a Tcl cmd looks perfectly fine, but its procPtr (scripted cases) contains invalid data [57eb831d] * nx.tcl: Reduce debugging output [226d979a] 2020-10-27 Gustaf Neumann * nsf.c, nsf.h, nsfInt.h, nsfStubLib.c: Make clean compile, when TRACE flags are defined [a422e30c] 2020-10-21 Gustaf Neumann * nsf.c (MethodDispatchCsc, ComputeLevelObj): Reduce verbosity, silence checker [77a6f178] * doc/*.man: Improve spelling [be71d48c] * nsf.c (NsfDebugGetDict): Use memmove() instead of strncat() since the former supports overlapping buffers. [c72f84a5] 2020-08-31 Gustaf Neumann * nsf.c (Nsf_Init): Do not try to initialize Tcl_TomMath_InitStubs when TCL_MAJOR_VERSION > 8 || TCL_MINOR_VERSION > 6 [4bd7db4e] * nsf.c (Nsf_ConvertToInt32): Include for Tcl 8.5 tclTomMath.h to define the mp_int type [61c07a2b]; check, if the flag MP_INT_DECLARED is defined in 8.7* builds [f3258689] * nsf.c (Nsf_ConvertToInteger): Avoid creation of Tcl_NewBignumObj() when argument is already of the bignum type [9d4daad1]; added mp_int type definion for Tcl >= 8.7 see: https://core.tcl-lang.org/tcl/tktview/4663e0636f7a24b9363e67c7a3dd25e9e495be17 [e157ce6c]; getting rid of mp_free (we still need the type for mp_int) [0e957261] 2020-08-30 Stefan Sobernig * win/rules.vc: Starting with recent 8.7, there is no 't' suffix appended to binaries and libs anymore, to indicate a threaded build. [c5097786] 2020-08-28 Stefan Sobernig * appveyor.yml: Use newer VS image [77053610, 9647540c, 7c4a1425,d8bc09f6, db9147b0,8d4ac524] 2020-08-19 Gustaf Neumann * README.profile: Added readme document on profiling [e40a0652] * Connection.xotcl, xodoc.xotcl: Improve spelling [dc6b2eb2] * slottest.xotcl, testx.xotcl: Avoid overly short method names [c493c042] 2020-08-07 Gustaf Neumann * doc/next-tutorial/next-tutorial.txt, generic/asm/nsfAssemble.c, generic/nsfError.c: Improve spelling [d25e6ec7] 2020-07-02 Gustaf Neumann * doc/example-scripts/per-object-mixins.tcl, doc/example-scripts/rosetta-add-variable.tcl, doc/example-scripts/rosetta-multiple-distinct.tcl, doc/next-migration.txt, doc/next-tutorial/next-tutorial.txt, generic/nsf.c, generic/nsfInt.h, generic/nsfStack.c, library/lib/nx-shell.tcl, library/lib/nx-zip.tcl, library/mongodb/nsfmongo.c, library/mongodb/tests/nsf-gridfs.test, library/serialize/serializer.tcl, tests/alias.test, tests/disposition.test, tests/doc.test, tests/methods.test, tests/parameters.test, tests/shells.test, tests/tcloo.test: Improve spelling by moving closer to the Linux documentation recommendations [78c12b94] * Makefile.in, library/mongodb/Makefile.in: Reduce useless output of "make test" [754d1562] 2020-06-11 Gustaf Neumann * doc/next-migration.txt, doc/next-tutorial/next-tutorial.txt, library/lib/make.tcl, tests/parameters.test: Improve spelling [30864532] 2020-05-29 Stefan Sobernig * nsf.c (Nsf_ConvertToInteger): Use Jan's hot fix TCL_NO_TOMMATH_H, not yet integrated into Tcl's 8.7 branch. [0aae1296] 2020-05-15 Stefan Sobernig * build.tcl: Force use of internal libtommath (TIP 538) in 8.7 builds [5a80e290] * .travis.yml: Bump Travis macOS image and use gcc-9 [6259567b] 2020-03-21 Gustaf Neumann * nsf.c (NsfMethodAliasCmd, ProtectionMatches): Make sure, variable is always initialized [6ef097d5, 053960da] 2020-03-09 Gustaf Neumann * generic/nsf.c, generic/nsfEnumerationType.c, generic/nsfPointer.c, generic/nsfStack.c, tests/methods.test, tests/nsf-cmd.test, tests/parameters.test: Improve spelling [5bcb005e] 2020-02-18 Gustaf Neumann * generic/nsf.c, library/lib/nx-zip.tcl: Improve spelling [10011595] 2020-02-06 Gustaf Neumann * xotcl2.tcl: Add object level method "dict" similar to "array" for larger symmetry of commands [34c85637] 2019-12-09 Gustaf Neumann * doc/example-scripts/rosetta-constraint-genericity.tcl, doc/example-scripts/rosetta-delegates.tcl, doc/example-scripts/ruby-mixins.tcl, doc/next-migration.txt, doc/next-tutorial/next-tutorial.txt, generic/nsf.c, library/xotcl/library/xotcl2.tcl: Improve spelling [a11d866d] * nsfDebug.c (NsfStackDump): Remove redundant tests [a77455e1] 2019-11-25 Stefan Sobernig * .travis.yml, appveyor.xml: Updates to build descriptors (incl. new Tcl release tags) [d2a20690, e1be9ee9, 9808a2f3] 2019-11-21 Gustaf Neumann * library/nx/nx.tcl, library/xotcl/doc/langRef.xotcl, library/xotcl/tests/slottest.xotcl, library/xotcl/tests/testx.xotcl: Improve spelling [cd6385e4] 2019-11-06 Gustaf Neumann * doc/Object.3, library/mongodb/tests/nsf-mongo.test, library/mongodb/tests/nx-mongo.test, library/xotcl/apps/utils/xo-daemon, library/xotcl/doc/Announce-1.3.6, library/xotcl/doc/Announce-1.4.0, library/xotcl/library/comm/Access.xotcl, library/xotcl/library/comm/PCache.xotcl, tests/alias.test, tests/parameters.test: Improve spelling [f10f6e08] * nsf.c (NsfParseArgsCmd): Reduce debugging output [eef40b99] 2019-10-08 Stefan Sobernig * Makefile.in: Avoid pathnames as targets and target dependencies, as they may break make in presence of colons or whitespaces in pathnames as set by autoconf (e.g., --prefix=/data/bin-2019-10-04:19:39:35 or --exec-prefix=/tmp/data/bin-2019-10-04:19:39:35). Thanks to Héctor Romojaro for reporting. [8eebb7d3] * nsf.c, testx.xotcl: Substitute tab-based indentation (1x) for space-based one (8x) for 'required argument' error msg. [5a31aba4] 2019-10-06 Gustaf Neumann * nsf.c, parameters.test: Fix potential crash, whe nsf::parseargs is called with a non-empty argspec and empty argv Extended regression test to cover such cases. [f69d5326] 2019-10-05 Gustaf Neumann * gentclAPI.tcl: Add missing EXTERN declarations [37833d29] * nsf.c, nx-bi.test, contains.test, disposition.test, method-parameter.test, nsf-cmd.test, tcl86.test: typographic changes, most prominently, more consistent comma settings https://onlinewritingtraining.com.au/however-therefore-furthermore/ [9e281d51] 2019-09-27 Gustaf Neumann * nsf.c: Remove "default" from fully initialized switches. initialize variable to slience compiler warnings [3493340e] 2019-09-23 Gustaf Neumann * Object.man, nsfAccessInt.h, webserver.xotcl, htmllib.xotcl, makeDoc.xotcl, destroy.test, doc.test, info-method.test, methods.test, object-system.test, protected.test, tcloo.test: Improve spelling [8024df76] * tcl.m4: Use newer m4 file [a4a0ad0e, 7792a2a9] * nsf.c: Remove redundant test [d32646c8] 2019-08-20 Gustaf Neumann * nsf.c: Fix indentation [83d91f91] 2019-08-20 Stefan Sobernig * nsf.c (NSDeleteChildren): Remove redundant check on NSDeleteChild, leading to endless loop. [84a79b3f] * appveyor.yml: Fix MinGW, ultimate attempt, long story [5c433a50] 2019-08-20 Gustaf Neumann * nsf.c, nsf.h, nsfInt.h, nsfStack.c: Avoid dangerous and potentially recursive macro definition "pure" [7ad03f0f] 2019-08-19 Stefan Sobernig * appveyor.yml: Fix MAKE, Nth attempt [0ac89591..df7f1017] 2019-08-16 Gustaf Neumann * nsf.c, nsfAccessInt.h (FilterAddActive, ProcDispatchFinalize, CallForwarder): Fix compilation issues with recent version of the Tcl core-8.branch (aka newest Tcl 8.7 branch) [8f7c25f9] 2019-08-13 Gustaf Neumann * *.log, nx-zip.tcl, get-regression-nb.xotcl, Httpd.xotcl, parameters.test, tcloo.test: Improve spelling [3c7374ae] 2019-08-10 Gustaf Neumann * Class.3, Class.man, tutorial2.html: Improve spelling [f817725e] 2019-08-09 Gustaf Neumann * doc/example-scripts/*.html: Improve spelling [f35ab630] 2019-08-08 Gustaf Neumann * nsf.c: Don't preallocate elements in Tcl_NewListObj with 2nd arg NULL (deprecated) nsf::__db_get_obj: make sure, the returned dict is valid [febe765f] 2019-08-06 Gustaf Neumann * nsf.c, nx.tcl, object-system.test: Enable temporary debugging output to investigate AppVeyor build failures [1e698728, 9e6766c4, 63c904a4, 8e725616, faa3eeb7] 2019-08-05 Gustaf Neumann * nsfShadow.c (Nsf_RenameObjCmd, Nsf_InfoBodyObjCmd): Fix shadowing of variable names [114f2ea7] * Makefile.in: fine-tuning of gcc warnings [89894f47] * Serializer.xotcl: Fix version number [c1612273] 2019-07-21 Stefan Sobernig * tests/submethods.test: Test for various conditions of unknown handling for ensemble methods of varying depth; also covers the crash condition reported on c.l.t, introduced with [156a37f] [37735fae] 2019-07-21 Gustaf Neumann * nsf.c (NextSearchAndInvoke): Fix but on top-level shell on unknown ensemble submethods [5368627b] 2019-07-07 Stefan Sobernig * nx.tcl, pkgIndex.tcl: Fix version number to include patch level: x.y.z [31adfd57] * properties.test: Add a case to test for the bug on cget/configure NsfFlagObjType sharing [13ac2740] 2019-07-06 Gustaf Neumann * nsf.h: Let developer control NDEBUG via Makefile (Tcl seems to define it nowadays) [1fb16685] * nsf.c (ArgumentParse): Fix for a caching bug reported by Manfred Stelzhammer at comp.lang.tcl. See https://groups.google.com/g/comp.lang.tcl/c/F9cn_Ah4js4/m/eL22xbQaCgAJ [94a8ea7c] improve cleanness of compilation [172a32e2] improve fall-through markup for case statements [3a4c6144] 2019-06-26 Stefan Sobernig * appveyor.yml: Fix tclkit URL for win. [2b4d1bca] 2019-06-19 Stefan Sobernig * apps/build.tcl: Fallback to curl, in case we run under a non-TLS-enabled Tcl environment. [cc4c9b92] 2019-06-17 Stefan Sobernig * .travis.yml, apps/build.tcl, appveyor.yml: Fix build environment to be able to fetch Tcl tarballs via https; updated tclkits for linux, macos, and win. [1544e5c0] 2019-06-16 Gustaf Neumann * nsf.c, nsf.h, nsfFunPtrHashTable.c, nsfInt.h: Silence gcc7+ by using attribute-based approach for denoting fall through in case statements [ec5702da] 2019-05-25 Gustaf Neumann * nsf.c: Code gardening (make unused argument explicitly as unused, cleanness of compilation when compiled without threads) [937c6deb, 51302024] * library/mongodb/pkgIndex.add: Fix missed version bump [641f75e3] * nsf.c (ObjectSystemsCleanup): Fix endless loop at exit, when compiled without thread support. Many thanks to Pavel Demin for reporting this bug. [8dbedb9a] 2019-05-14 Gustaf Neumann * nsf.c (NsfUnsetTrace): Eliminate TCL_INTERP_DESTROYED flag (as suggested by TIP #543) [e2349563] 2019-05-13 Stefan Sobernig * configure.ac, library/mongodb/configure.ac, nx-mongo.tcl, nx.tcl, nx/pkgIndex.tcl, serialize/pkgIndex.tcl, serialize/serializer.tcl, xotcl/library/pkgIndex.tcl, xotcl/library/xotcl2.tcl: Bump version number to 2.4.0 [39197485, c80b57b9] * .travis.yml, appveyor.yml: Update branch settings in CI descriptors, Added CI entries to README.release [8c195577, 717b102a] 2019-05-12 Stefan Sobernig * .travis.yml, appveyor.yml: Update branch settings in CI descriptors [4ee2e547]