Index: ChangeLog-2.1.0-2.2.0.log =================================================================== diff -u -r70c46a63c90b5ed0d5488c6bc1be0ac4abaaff56 -ra3d55a50be6eb09fc4dc08480079ee84d76d39ba --- ChangeLog-2.1.0-2.2.0.log (.../ChangeLog-2.1.0-2.2.0.log) (revision 70c46a63c90b5ed0d5488c6bc1be0ac4abaaff56) +++ ChangeLog-2.1.0-2.2.0.log (.../ChangeLog-2.1.0-2.2.0.log) (revision a3d55a50be6eb09fc4dc08480079ee84d76d39ba) @@ -801,107 +801,77 @@ 2018-01-19 Stefan Sobernig + * contains.test: Fix another 86/85 glitch [2125f114] + * nx-test.tcl (try): Make test suite working under 8.5, + again. [1d2bdbea] - - Fix another 86/85 glitch [2125f114] - - - - Make test suite working under 8.5, again. [1d2bdbea] - 2018-01-18 Gustaf Neumann + * nsf.c (MakeProc, NsfProcContext): Execution namespace reform: + Add execution namespace to proc context instead of altering the + namespace of the command. This fixes strange behavior of "info + commands ::o::p", which might have returned "::p"; provide + compatibility with Tcl 8.7a2; extend regression test [3ccbf141] + * Makefile.in, alias.test, double-alias.test: Extended regression + test [df76a8d9] - - extend regression test [df76a8d9] - - - - execution namespace reform: - - add execution namespace to proc context instead of - altering the namespace of the command - - this fixes strange behavior of "info commands ::o::p", - which might have returned "::p" - - provide compatibility with Tcl 8.7a2 - - extend regression test [3ccbf141] - 2018-01-16 Gustaf Neumann + * nsf.c (Nsf_Init): Get the "int" type from the Tcl_Obj directly, + which will continue to work in Tcl 9.0. [2d77e6cc] + * nsf.c (Nsf_Init): Provide compatibility with TIP #484 on wideInt + [382055d5] + * nsf.c, alias.test: Deactivate solution to the tcl87a2 problem + for now, since we need a different solution with this for + recursive aliases [392fda7d] + * nsf.c (ObjectDispatch): Improve wording in comment [42f38005] + * nsf.c (ParamOptionParse): Remove shadowing variable [d8f6dd4d] + * nsf.c (ParamDefsFormat, ParamOptionParse): reduce implicit + conversions [fa4eedf5] + * nsf.c (NsfMethodAliasCmd): Transitional fix for tcl87a2 problem + [63f7ad6c] - - get the "int" type from the Tcl_Obj directly, which will continue to - work in Tcl 9.0 [2d77e6cc] - - - - Provide compatibility with TIP #484 [382055d5] - - - - deactivate solution to the tcl87a2 problem for now, since we need a - different solution with this for recursive aliases [392fda7d] - - - - improve woring in comment [42f38005] - - - - remove shadowing variable [d8f6dd4d] - - - - reduce implicit conversions [fa4eedf5] - - - - transitional fix for tcl87a2 problem [63f7ad6c] - 2018-01-15 Gustaf Neumann + * nx.tcl: Cleaning up substdefault code [32791010] + * alias.test: Extend regression test, make assumptions explicit [52af84c2] - - substdefault code cleanup [32791010] - - - - extend regression test, make assumptions explicit [52af84c2] - 2018-01-14 Gustaf Neumann + * nx.tcl, parameters.test: Avoid stripping of substdefault from + properties [ed365a90] + * nx.tcl, parameters.test, substdefault.test: Add handling of + extended substdefault options to per-object variables; improve + default value checking for slot-less variables; transform + associated array into a dict; extended regression tests [babe6447] - - - - remove stripping of substdefault from properties [ed365a90] - - - - - - add handling of extended substdefault options to - per-object variables - - improve default value checking for slot-less variables - - transfor associated array into a dict - - extend regression tests [babe6447] - 2018-01-13 Gustaf Neumann + * nsf.c (MakeProc): Delete pre-existing commands explicitly + [918dad99] - - delete pre-existing commands explicitly [918dad99] - 2018-01-12 Gustaf Neumann + * nsf.c (MakeProc): Provide fully qualified names to + Tcl_ProcObjCmd() to avoid potential problems in newer Tcl versions + [79bca8ba] - - - - provide fully qualified names to Tcl_ProcObjCmd() to avoid potential - problems in newer Tcl versions [79bca8ba] - 2018-01-05 Gustaf Neumann - - make it possible to use error code for cmd result - comparison - - add some NSF specifc error code [5ab2ad98] + * nsf.c, nx-test.tcl, destroy.test, forward.test: Make it possible + to use error code for cmd result comparison; add some NSF specifc + error code [5ab2ad98] + * nsf.c, disposition.test, parameters.test: Provide error hint for + "invalid value constraints" errors [dc94a1f1] + * nsf.c: Add error message, when present [50d4fe25] + * nsf.c (ParamDefsFormat, ParamDefsFormatOption) + (ParamDefsRefCountDecr): Reduce number of strlen() operations + [11f14cc1] + * nsf.c: whitespace changes [01ea26cd] + * nsf.c (ParamDefinitionParse, ParamDefsFormat), nx.tcl, + xotcl2.tcl: Fold "substdefault" and "substdefaultoptions" into a + single parameter option "substdefault" [b6fa8004] - - - provide error hint for "invalid value constraints" errors [dc94a1f1] - - - - add error message, when present [50d4fe25] - - - - Reduce number of strlen() operations [11f14cc1] - - - - whitespace changes [01ea26cd] - - - - Fold "substdefault" and "substdefaultoptions" into a single parameter - option "substdefault" [b6fa8004] - 2018-01-04 Stefan Sobernig * nsf.c (ParamOptionParse): Fixed typo in error msg. [5bd8345b] @@ -930,7 +900,7 @@ 2018-01-02 Gustaf Neumann - - nsf.c: Silence gcc8 [8591bd17] + * nsf.c: Silence gcc8 [8591bd17] 2018-01-01 Gustaf Neumann Index: doc/Announce2.2.0 =================================================================== diff -u -r70c46a63c90b5ed0d5488c6bc1be0ac4abaaff56 -ra3d55a50be6eb09fc4dc08480079ee84d76d39ba --- doc/Announce2.2.0 (.../Announce2.2.0) (revision 70c46a63c90b5ed0d5488c6bc1be0ac4abaaff56) +++ doc/Announce2.2.0 (.../Announce2.2.0) (revision a3d55a50be6eb09fc4dc08480079ee84d76d39ba) @@ -24,8 +24,11 @@ + The lookup for (bytecode-compiled) object variables is now supported by a lookup cache to avoid repeated linear searches. + The number of string comparisons (strcmp) was reduced - systematically, in method-parameter parsing and method-parameter + systematically, in method-parameter parsing and argument handling. + + The number of strlen uses was reduced, especially in + method-parameter parsing and argument handling. + + ... - NX: @@ -59,9 +62,14 @@ - MongoDB interface upgrade: * Upgraded driver and utilities to mongodb-c-driver 1.9.3 and libbson 1.9.3. - * Add regular expression queries to conditions in nx::mongo +- nx::test + + * Provide for expressing expected results in terms of error codes, + rather than error messages. This is to prepare an upcoming reform + on providing error codes from within NSF more extensively. + - Documentation: * NSF now has support for TIP #59 introspection via @@ -71,6 +79,14 @@ - Maintenance & bug fixes: + * Execution namespace reform: NSF methods execute in their object's + definition namespace, and not in the the proc's origin + namespace. Rather than patching the proc commands namespace + unconditionally (leading to counter-intuitive results using + standard Tcl introspection on these commands), the execution + namespace is maintained in a context structure and patched for + executing the proc only. + * Migration to 'bool' * Tcl 8.7: