2016-12-23  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfmongo.c: Added explicit calls to mongoc_init() and
	mongoc_cleanup(). Documented use of configure flag
	"--disable-automatic-init-and-cleanup" to avoid crashes under Mac
	OS X. [b7029a4]

	* nxsh.man: Improved wording. [a7ce921]

	* tk-*.tcl: Change package name in Tk example scripts:
	"nx::traits:XXX" -> "nx::trait::XXX"; add comment to
	Announcement. [71e1805]

	* linearization.test: extended regression test suite with a case
	reproducing a recently fixed crash. [bc72af7]

	* nsf-gridfs.test: Changes to README file requires a small
	adjustment on a test case, working on the README file. [65669db]

	* mongodb/configure.ac, mongodb/pkgIndex.add, nx-mongo.tcl: Bump
	version numbers: nsfmongo to 2.1, TEA to 3.10, nx::mongo to 2.1.
	[ad195da, 4028b98]

2016-12-22  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfInt.h: Define NsfObjDispatch as Tcl_ObjCmdProc. [41e0544]

	* mongoAPI.decls, nsfmongo.c: Upgraded MongoDB and drivers to
	mongodb-c-driver 1.5.1, libbson 1.5.1 and MongoDB v3.4.0; added
	support for BSON type DECIMAL128. [ab21c85]

2016-12-21  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

        * configure, aclocal.m4: Re-generated autotools artifacts to reflect
        changes in configure.ac. [70e6617]

	* configure.ac: Fix bogus variable assignment. [cd18d47]

2016-12-18  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (PrecedenceOrder, MergeInheritanceLists): Fix occasional
	crash when deleting and recomputing precedence orders under
	multiple inheritance. One assumption in the precedence order
	computation is that the precedence orders of superclasses are
	computed before the precedence orders of the class itself. The
	check whether to perform this computation turned out too simple
	minded because it used to check this condition only on the current
	class, but not on its superclasses. [a1a7bac]

	* nsfInt.h: Use the same ISOBJ definition for both Tcl 8.5 and
	  8.6. This avoids another potential crash. [8eda332]

	* nsf.c (ParseContextExtendObjv): Make type conversion
	  explicit. [6a4df82]

	* Makefile.in: Add make target lldbtest. [a42449a]

2016-12-17  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfInt.h, nsfUtil.c: Avoid implicit type conversions
	[bdfa0fc, e8d2c80]

	* nsfmongo.c: Avoid implicit type conversions. [ebb54b9]

	* mongodb/configure.ac: Allow specification of --enable-assertions
	on the parent NSF project. [6e88221]

2016-12-16  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* testx.xotcl (filterGuards): When compiled without assertions, a
	test case was skipped, that created an object "b"; the subsequent
	test therefore produced different results when b happened to be
	created or recreated; avoid use of global modifier. [e7afc31]

2016-12-16  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* summary.tcl: Report NSF commit id along with NSF package
	version. [3232e56]

	* pkg.vc: Provide for incorporating the commit id at least for
	tarball builds under win/nmake. [d257d63, f6634af] supersede
	[5b7ad96].

2016-12-16  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* shells.test: The shell test depends on console output which in
	turn varies according to build-time configuration options such as
	memcount. Deactivate this test file for NSF configurations with
	debug output. [4a0eb5e]

	* nsf.c (AliasRefetch): Don't add extra newlines to log lines.
	[a56620f]

2016-12-16  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* makefile.vc, pkg.vc: For the time being, set an empty commit id
	under Win. [5b7ad96]

	* configure.ac, configure: Align TEA versions. [6a77970]

	* nsfDebug.c, configure.ac: Provide for the commit id (if available) to
	be stored in the variable "::nsf::commit". [0ecc82c]

2016-12-15  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* README.release: Provide for and document publishing the
	doctools manpages to https://next-scripting.sourceforge.io/.

	* man.css: Updated to match doctools markup (tcllib 1.18+; new id
	and class names) and remove button-style from keywords and syntax
	elements. [9414504]

2016-12-15  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (CompiledLocalsLookup): Improve variable names and limit
	calls to strcmp. [438ba04]

2016-12-13  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* gentclAPI.tcl (methodDefinition): Deactivate docstring
	generation for now, as they are not actively used. [44ab715]

2016-12-12  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* configure.ac, configure (AC_INIT): Rather add link to SF
	ticketing as PACKAGE_BUGREPORT define. [d5c3562]

2016-12-12  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfAPI.decls (NsfConfigureCmd): Remove configure options
	"trace" and "profile". [4b20700]

2016-12-11  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* win/makefile.vc: Set title for summary.tcl. [88f1605]

	* interp.test: Import auto_path from parent interp so that "package
	req" works as expected. [3e47756]

	* nsfInt.h, nsfError.c (NsfDStringVPrintf): The logic assumes
	_vsnprintf being used under MSVC. However, under Tcl 8.5.*, the
	mapping is missing from tclInt.h. Fill this gap. [295ac11]

2016-12-11  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c
	(TclDeletesObject): Fix bug that sneaked-in in last
	commit. [7f016c4]
	(Nsf_DeleteNamespace): Remove unneeded code in cases, when
	compiled with NDEBUG. [af86f66]

	* nsf.c: Prefer boolean expressions, reduce number of implicit
	signed/unsigned conversions. [7c9627d]

	* nsfStack.c (NsfShowStack): Remove always false statement used
	for controlling output of showstack. [b44aabd]

	* Makefile.in: Remove duplicated flag "TCL_NO_DEPRECATED"
	[cfa9e21], make cppcheckcmd configurable. [15b9823]

2016-12-10  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c: Address cmdflags conversion, prefer unsigned int over
	unsigned long. [2d51c0b]

2016-12-09  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (ProcDispatchFinalize): Silence compiler warning on
	ckfree. [641e77f]

2016-12-09  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* win/makefile.vc: Register missing test scripts. [5c55039]

2016-12-09  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (ProcDispatchFinalize, InvokeShadowedProc): Fix debug
	output wen compiled without --enable-profile. [e2dfaca, b99c256]

2016-12-09  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* win/rules.vc: Remove artifact from OPTDEFINES. [a7d6bf4]

	* win/rules.vc: Avoid type-cast warnings under 64bit MSVC (MSVC >
	1300) toolchains due to compiler flags missing from Tcl headers
	and from rules' OPTDEFINES. Reported as
	http://core.tcl.tk/tclconfig/tktview?name=ab69a602bf. [ccc0e58]

2016-12-09  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (ProcDispatchFinalize): Move result reporting of
	nsf::procs into ProcDispatchFinalize(). This fixes the result
	value reporting and timings for nsf::procs. [1723e95]

2016-12-07  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (NsfProcStub):  Make sure that stub proc is used when
	   "-deprecated" is set.
        * nsf.tcl: Use "Debug" severity for -debug messages. [4befd49]

2016-12-02  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (GetObjectFromObj, TclDeletesObject): Remove two earlier
	fixes to deal with ::nsf::object::alloc failing under cmd
	deletion/recreation. The issue has been tackled more generally by
	a Tcl-side fix. Background: Since 2005 (commit fcb9ab1df3a9b2d1),
	in Tcl the cmdEpoch state in delete traces and delete callbacks
	has been compromised. Bumping the epoch of the cmd under deletion
	before executing the traces and callbacks had the potential of
	caching the cmd under in Tcl_Objs beyond its deletion (at least in
	our code path). In July 2017 for 8.7a (commit 54fac92610d3bdd9),
	this potential realised by removing a guard expression
	on CMD_IS_DELETED in the Tcl_Obj cache invalidation logic, which
	had protected from such invalid caches as a side effect. As of
	today (8.7a, commit 71fa1f9c91), the underlying timing problem of
	epoch bumping has been resolved. [f314d0a] reverts [bab0e88,
	75a78fb, 646eda3]

2016-11-23  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (NsfMethodAliasCmd): Tcl 8.7 is more picky about typePtr and
	intrep being in line. We need to NULL the typePtr explicitly.
	TclFreeIntRep does so for us as good Tcl citizens, rather than setting
	bodyObj->typePtr == NULL directly. [438e614]

2016-11-11  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nx.tcl (VariableSlot->setCheckInstVar): Use method parameter
	'value' rather than object variable 'default'. [361fa32]

	* nx.tcl, parameters.test (Object->object variable): Support for
	substdefault has been entirely missing so far. Added basic tests.
	[7bcc1f1]


2016-11-03  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

        * interceptor-slot.test: Adding a first test case. [71f9dc8]

2016-11-03  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (ObjectDispatchFinalize): Address potential crash when a
	filter calls a filter which calls unknown. [641d41d]

	* nsfInt.h: Prefer lower case "U" suffix to improve readability.
	[4b4a734]

2016-11-02  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

        * xotcl2.tcl (Class->unknown): Use ::nsf::current explicitly to avoid
          NX/XOTcl2 self hickups. [a147560]

2016-10-28  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* Documentation (tk-ludo.tcl): Regenerated documentation. [c8cc440]
        * tk-ludo.tcl, nx-shell.tcl: Remove useless expr statements. [f691059]

2016-10-27  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* xotcl2.tcl
	(Class->unknown): Fix regressions due to uplevel mambo-jumbo. [020d3d6]
	(Class->unknown): Make sure that Class->unknown bypasses filter and mixin
	frames. [9dcea26]

2016-10-26  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (ExitHandler): Re-locate clearing history from finalize to
	ExitHandler. [59b4e8c]

2016-10-22  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (NsfFinalizeCmd): Clear Tcl's history list explicitly
	before finalizing NSF. See also Tcl ticket 1ae12987cb. [6be629e]

2016-10-16  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nx.tcl (nx::Class->unknown): Rewrite unknown message to include
	'?...?'. [371cc41]

	* nsfStack.c: Unify writing style. [114df8b]

	* nsfProfile.c: Fix typos in code comments. [5447fe0]

	* nsfFunPtrHashTable.c: Fix typos in code comments. [6e37cdb]

2016-10-15  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfError.c: Cleanup: remove spurious blank in error message, fix
	typo in print string. [e0da9e0]

2016-10-15  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nx.tcl: Commit missing unknown message change. [dafe310]

2016-10-15  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.h, nsfError.c:
	(NsfNoCurrentObjectError): Improve comment and signature. [5abaa15]
	Improve wording of other comments, keep comments within the limits of
	the header/trailer line. [5abaa15]

2016-10-14  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Testsuite: Adjust the test suite for the latest rewording of
	the nx::Class unknown message. [2717622]

	* nsfError.c: Fixed typos and unified writing style in code comments.
	[f139db6]

	* nsfObj.c: Fix some typos and align writing style. [1ce1f6a]

2016-10-14  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c: Fix typos in comments, align commenting style. [5ba5873]

	* nx.tcl: Make xotcl::Class->unknown hint more explicit and
	verbose. [4dda010]

2016-10-13  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c:
	(ObjectSystemsCleanup): Remove interp resolvers explicitly before
	the physical cleanup round. [371e0e3]
	(DeleteProcsAndVars): Silence compiler warning and reduce variable
	scope (spotted with memtracking on). [7992ec4]

2016-10-12  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* shells.test:  Add two tests on try/finally. [ce511c8]

	* nx-shell.tcl:
	Extend the exit wrapper to include Tcl 8.6 try [8f55f92]
	Make sure that the proper exit code is provided when
	leaving the -c stdin mode. [f83d0a1]

2016-10-12  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* shells.test:
	Add two more tests of plain tclsh. [0c79f62]
	Remove superfluous (and incorrect) tests. [3f7e49e] reverting
        [152c1d3]
	Extend regression test for shell with tests in [info
	nameofexecutable] rather than in nxsh [152c1d3]

	* nsf.c (NsfLog): Don't call Tcl eval operations from NsfLog() in phyical
	destroy round.

2016-10-12  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* shells.test: Add some more tests. [31727ed]

	* nx-shell.tcl (nx::shell2): Rewrote in-shell exit support to
	avoid Tcl's native exit and to unwind gracefully to avoid NSF
	refcount leaks on exit; bumped package number. [0956bd0]

2016-10-10  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfInt.h: Improve sanity test in ISOBJ(): obj->bytes
	might only be NULL when type is given. [472a3c5]

2016-10-09  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* TEA (tcl.m4): Updated m4/tcl.m4 to most recent TEA version:
	3.10, regenerated autotools artifacts. [4a30a3a]

2016-10-08  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfUtil.c: Cleanup of strnstr() (when the clib function is not available).
	[a8b3805]

	* generic/*:
	Cleaning up white spaces (mostly strip trailing spaces, remove a
	few tabs). [77ba24e]
	Cleanup of type conversions. [1d1ca56]
	Reduce variable scopes. [fbd52e6]

2016-10-07  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c: Cleanup of type conversions in first ~18000 lines. [4e70d6d]

2016-10-07  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* current.man (current.man): Extend doc on nx::current to include
	nx::current level [d49b5f9]

2016-10-07  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c: Cleanup of type conversions in first ~6000 lines. [099e1ee]

	* nsf.c, nsfAPI.*
	(NsfCurrentCmd): New subcommand "nsf::current level", which
	returns an empty string when outside an NSF frame/level. [8465a13]
	(NsfCurrentCmd): Keep compatibility with traditional "nsf::current
	activelevel" by returning 1, if we are not on an NSF
	frame. [8465a13] reverting [dbd850e].

2016-10-06  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (NsfCurrentCmd): Return from "nsf::current callinglevel"
	the value 0 (instead of 1), when it is called outside of an NSF
	frame, which has an NSF object associated. [dbd850e]

2016-10-05  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (UnsetTracedVars): Silence compiler warning under 8.5 by providing
	an explicit cast. [abfaf40]

	* Documentation
	(rosetta-single-inheritance.tcl):Add another Rosetta example:
	Inheritance/Single [c7738a3]
	(rosetta-multiple-inheritance.tcl): Fix typo L3 -> C3 [3617b69]
	(Object.man): Include missing doc in 'info lookup parameters' and 'info
	lookup syntax' [4bfe0ad]

2016-10-04  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c:
	(ParamOptionParse): 'virtualobjectargs' and 'virtualclassargs'
	defaulted to ConvertViaCmd when parsed from Tcl spec; explicitly
        set ConvertToNothing to match the intended semantics and to avoid
	false warnings (e.g., missing type=virtualobjectargs type checker).
	[03b838a]
	(NsfParameterInfoCmd): Correct two typos in in-code
	comment. [6d563e2]

2016-10-02  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Makefile.in: Register Rosetta examples. [ec6103a]

2016-10-02  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsf.h: Make NSF compilable with "-DTCL_NO_DEPRECATED". [9cce0c1]

2016-10-01  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Documentation:
	Remove redundant Rosetta example implementations. [14d4d3a]
	(rosetta-multiple-inheritance.tcl): Added another Rosetta example:
	multiple inheritance. [92c1ac3]

2016-09-30  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (RemoveInstance): Fix typo and improve wording of nsf::log warning
        slightly. [8a106d9]

	* Documentation
	(Object.man): Correct the documentation bit on Object->copy. [4b2d241]
	(rosetta-clone.tcl): Added another Rosetta example: Polymorphic copy [922c0ab]

2016-09-29  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c, methods.test (DispatchUnknownMethod): Make sure that
	arcane method names make it into proper unknown error mesages
	incl. names representing invalid Tcl lists; tests included;
	checked by valgrind [4b78042]

	* Documentation
	(rosetta-add-variable.tcl): Adding yet another Rosetta example: Add object variable
	dynamically. [ed0f5cb]
	(rosetta-add-variable.tcl): Fix typo [e33e0a2]

	* shells.test: Adjust shell tests for latest changes to stacktrace
	formatting. [56f9658] triggered by [2c896da]

2016-09-28  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Documentation:
	(rosetta-multiple-distinct.tcl, rosetta-tree.tcl): Improve output
	spec in Rosetta example. [8648ec7]
	(rosetta-multiple-distinct.tcl): Adding another Rosetta example:
	Multiple distinct objects. [cc85907]

2016-09-23  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c: Add thread IDs to debug lines (in threaded builds). [e20e1c1]

2016-09-21  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Testsuite:
	(tcl86.test): Make cmd-literal tests conditional on a (future) Tcl release: 8.6.7
	[40ff115]
	(destroy.test): Adding a second UnsetTracedVars test, this time
	for the per-object namespace case. [2330f51]

2016-09-20  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* destroy.test: Add missing test on UnsetTracedVars. [c29e5d3]

2016-09-19  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsfCmdDefinitions.c (Nsf_CmdDefinitionRelease): Fix
	documentation [23581e9]

	* nx-shell.tcl (nx::shell2): Provide complete errorinfo, not just
	top-level line [2c896da]

2016-09-16  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (NsfFinalizeCmd): Remove manually mixinRegObjs during
	cleanup to silence sanity checking for object refcounts. [9395752]

	* nsfObj.c (NsfMixinregGet): Fix typo in comment. [73a82fc]

2016-09-15  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (NsfFinalizeCmd): Add pthread id to debug message [b36a57b]

2016-09-13  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (UnsetTracedVars): Provide for a two-pass deletion logic
	during object shutdown, to account for unset traces possibly
	reviving an object variable under deletion. This corresponds to a
	recent memleak fix to Tcl itself. See also Tcl Fossil ticket
	4dbdd9af144dbdd9af14. [d710110]

2016-09-09  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nx.tcl (VariableSlot->value=get): Substitute set for get, which
	is a tick faster. [bb688b8]

	* Documentation (rosetta-tree.tcl): Rosetta example: Tree
	traversal. [f769aa3]

2016-09-06  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nx-shell.tcl (::nx::shell2): Harden nx::shell against inlined
	return statements. [da0791d]

	* Documentation (rosetta-tokenizer.tcl): Added first additional
	Rosetta example. [b689afd]

	* source-highlight-with-pp: Make src highlighter independent from
	Tcl version. [8e929f8]

2016-09-01  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Makefile.in: Keep valgrind settings for the future. [0187626]

	* nsf.c (ObjectCmdMethodDispatch): Get refcounting on method-path
	lists right, fixing one actual (valgrind) and another potential
	Tcl_Obj leak. [6cb02ec]

2016-08-31  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c
	(ParamDefsNames): Fix another Tcl_Obj leak and optimize
	code slightly, Tcl_Obj is only allocated once the string-matching
	operation succeeded. [253e9e6]
	(NsfForwardPrintError): Fix another instance of the
	NsfMethodNamePath leak. [0739b93]
	(NsfMethodName): Avoid unnecessary append operation between lists,
	previously leaking the source list Tcl_Obj. [8a650e1]
	(ArgumentParse): Addressing a series of Tcl_Obj leaks (valgrind). [2dbfbf4]

2016-08-22  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (AssertionAddProc): Removing dead assignment. [1e25f4b]

2016-08-14  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c:
	(TopoSortSub): Make intended true/false comparisons based on int
	explicit. [ce32c79]
	(TopoSort): cleanup (pt. 3): re-factored TransitiveSubClasses()
	and DependentSubClasses() into one caller function of
	TopoSortSub(). [a9057d3]
	(TopoSort): cleanup (pt. 2): renamed TopoSort() to TopoSortSub() to
	match TopoSortSuper. [49bad0b]

2016-08-13  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (TopoSort): cleanup (pt. 1). [2caa518]

2016-08-10  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c
	(GetNextArguments): Address CID 102646. [e982277]
	(NsfObjInfoObjectparameterMethod, NsfParamDefsFilter): Removed two
	unused functions: NsfObjInfoObjectparameterMethod() and
	NsfParamDefsFilter(). Makes CID 88775 obsolete.[308a912]
	(MakeProc): Address CID 88770. [566ca93]

2016-08-09  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfError.c
	(NsfObjWrongArgs, NsfObjErrType): Remove occurrences
	of deprecated Tcl_AppendResult() in overall code. [299a221]
	(NsfPrintError): Avoid computing string length twice. [b8fe2d4]

	* nsfStubLib.c: Remove 2 occurrences of deprecated
	Tcl_AppendResult. [8e079b5]

	* nsf.c, nsfInt.h (NsfLog, RUNTIME_STATE): Small logging reform,
	renaming "debugLevel" to "logSeverity" and introduce logging
	messages which have a severity larger or equal than a given log
	severity; so; "nsf::configure debugLevel 0" will print everything,
	and "nsf::configure debugLevel 3" will print just error messages
	while omitting warnings etc. This is not a change in logging
	semantics, but removes some confusion at the C level. Therefore, the
	nsf::configure option "debugLevel" was not changed.

2016-08-07  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (ExitHandler): Address potential double freeing problem of
	runtime states. ExitHander should never be called twice on the
	same interp. Therefore, provide for deleting ExitHandler in the
	ExitProc, as well as for deleting ExitHandler and
	ThreadExitHandler in the ThreadExitProc. [4ff9a50]

2016-08-04  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* gentclAPI.tcl, nsfAPI.decls: Code generator was changed to
	create enum types instead of enum values for NSF API, use enum
	types in code. [aa5b3f4]

2016-08-04  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c, nsfCmdDefinitions.c, nsfEnumerationType.c
	(ExitHandler, Nsf_CmdDefinitionRelease): Provide for
	releasing/deleting the hash table for cmd definitions. [843e576]
	(ExitHandler, Nsf_EnumerationTypeRelease): Provide for
	releasing/deleting the hash table for enumeration-type converters
	in ExitHandler. [843e576]

	* nsfFunPtrHashTable.c (FreeFunPtrEntry): Remove deletion handler
	for cmddef and enumeration-type hash entries, not needed
	currently.

2016-08-02  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* generic/**.c: Code cleanup (remove various code smells by
	adding const declarations, preferring boolean tests, avoid "for"
	loops without a block, don't pass non-initialized value in an
	array on index [0], reducing variable scope, preferring single
	returns statements in functions, dont't use CONST unless defined
	by Tcl API. [8eecbe5]

	* nsf.c: Limit effects of namespace-imported classes. [3b5f62d]

2016-08-01  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (FilterSearchAgain): Avoid running into an invalid pointer
	access, when the physical deletion of "del" conflicts with
	following the next link in the cmdList in the loop's increment
	statement (only iff del == cmdList). Re-organized for into a while
	loop, to avoid otherwise redundant code. [0311e86]

2016-07-28  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (GetClassFromObj): Fix invalid memory access as indicated
	by valgrind. [a9448f8]

2016-07-27  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c
	(InterpColonCmdResolver): Make intentions about clientData
	clear to static checker. [1663346]
	(NsfProcStubDeleteProc, NsfProcAdd): Use consistent comment
	styles. [e13bc9e]
	(NsfProcAdd, ListMethod, NsfParseArgsCmd): Move declarations to
	the begin of a code block, remove debug code. [abc4952]

	* nsfCmdDefinitions.c, nsfEnumerationType.c, nsfFunPtrHashTable.c:
	Remove commented code from the previous implementation. [7243f88]

	* Makefile.in: Add pre-8.7 Makefile.in (missed in last commit). [ae36129]

2016-07-26  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c, nsfInt.h (NsfProcStubDeleteProc): Protect against
	potentially dangling namespace references from within
	::nsf::procs::*. The wrapper cmd's namespace of an nsf::proc might
	already have been deleted when ::nsf::procs::* shuts down
	finally. This showed up during a Tcl_Exit (NSF's ExitHandler) as
	an invalid memory access via (dangling) namespace pointers
	as indicated by valgrind. [c39e939]

2016-07-26  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* generic/stubs8.7/: Let NSF compile against Tcl 8.7 (current
	trunk version of Tcl). [56d1814]

2016-07-25  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, tcl86.test: Continued work on cmd resolvers: Fix test,
	when OS specific cmd resolver is used from a
	NSF_CSC_CALL_IS_COMPILE frame; improved output from __db_show_obj:
	put results into one line instead of multiple lines; new debug
	function __db_get_obj: return into about a tcl_obj in form of a
	dict (in general, one should not rely on Tcl_Obj internals,
	especially when upgrading over major Tcl versions, but for
	testing/understanding behavior etc., such a command is helpful;
	extended regression test. [21686b8]

2016-07-21  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* tcl86.test: Revive and include test case on Bug 3418547. [f5b034e]

2016-07-21  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* tcl86.test: Add test for the global cmd literal sharing. [3dbd5a1]

	* nx.tcl: Adding "/obj/ info method disassemble" for disassembling
	methods. [ 3dbd5a1]

2016-07-17  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (NsfParseArgsCmd): Fix memory leak. [ae50486]

2016-07-16  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (SetInstVar): Correct book-keeping for NSF's memcount
	feature. [6a3890e]

2016-07-15  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsfCmdDefinitions.c (Register): Avoid inline comment style.
	[34c49c5]

	* nsf.c (NsfFinalizeCmd): Suppress cppcheck warning: adding
	explicit int cast. [9fc2766]

	* nsfError.c
	(NsfDStringVPrintf): Promote log statement to Tcl panic. [c7b7511]
	(NsfDStringVPrintf): Make log statement conditional on NDEBUG. [2a16d79]

2016-07-15  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (DispatchDestroyMethod): Handle cases of objects becoming
	deleted after the interp (which should not happen) more
	gracefully. [800c3a0]

2016-07-15  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsfError.c (NsfDStringVPrintf): Rephrase err message. [8d2096e]

2016-07-14  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsfError.c (NsfDStringVPrintf): Suppress cppcheck warning:
	unused variable assignment. [34e5bc1]

	* nsf.c (NsfParseArgsCmd): Suppress cppcheck warning: reduce
	variable scope. [8fd1f04]

2016-05-21  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfmongo.c (NsfMongoRunCmd): return the result of
	::mongo::run. [4dccd3f]

2016-05-04  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Documentation: Link version numbering in man pages to autoconf
	tooling, similar to the NaviServer setup, update copyright dates
	in man pages where needed. [0228cdf]

2016-04-30  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Documentation (nxsh.man): Update man page for nxsh, adding
	description of -c option. [30cf844]

2016-04-29  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Testsuite
	(Makefile.in): Register shells.test. [be3c675]
	(shells.test): Some cleanup and adding basic test cases. [3ee0ac9]

2016-04-21  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Shells (nxsh, xotclsh): Scripted shell reform which provides an
	alternative nx::shell impl (nx::shell2), used by all four shell
	scripts. nx::shell2 builds on Tcl's event loop, rather than while
	+ update. This avoids blocking the Tk main window (update). In
	addition, nx::shell2 is closer to Tcl's native shells (e.g., no
	extra lines on enter, catches EOF). [2a5945f]

2016-04-19  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfmongo.c, mongoAPI.*: Improved mongodb interface for json/bson
	parsing; rename function mongo::json to mongo::json::generate;
	introduce mongo::json::parse. [e3e8f37]

2016-04-08  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Object.man: Fix doc on introspection for configure options. [4276fbd]

2016-04-04  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (ComputeParameterDefinition, ProcessMethodArguments):
	Cleanup up and improve debug statements. [96f4410]

	* nsfAPI.decls (__profile_get): Remove redundant spec
	line. [e365540]

	* nsf.tcl (volatile): Improve indentation. [a41b0fa]

2016-03-30  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* xotcl2.tcl: Added "-returns" flag to XOTcl's instprocs/procs,
	very similar to "-returns" in NX. Extended serializer to handle
	"-returns" flag and extended regression test,
	accordingly. [353fdf4]

2016-03-26  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nx.tcl (setCheckedInstVar): Fix one case in interaction between
	get-trace and default value. [f6ddb05]

2016-03-25  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Testsuite (library/pkgIndex.tcl): Make XOTcl tests runnable
	again from plain tarball/git checkout. [20e59a8]

2016-03-25  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nx.tcl (setCheckedInstVar): Allow combination of "-trace get"
	with default value (was previously disallowed); extended
	regression tests. [7e20ec3]

	* nsfError.c (NsfDStringVPrintf): Minor cleanup. [4f44840]

2016-03-23  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* TEA
	(makefile.vc): Custom shell target. [842266c, da35de9]
	(makefile.vc): Add base-address support; see
	http://core.tcl.tk/tcl/tktview?name=0ef5e653. [3a06b2c]

	* nsfError.c
	(NsfDStringVPrintf): Improve documentation. [b75b19b]
	(NsfDStringVPrintf): Another attempt to sort out the vs*printf()
	mess between runtimes. [626a121]

2016-03-18  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* TEA:
	(makefile.vc): Update win compilation units. [a8c598f]

	* nsf.c (Nsf_ConvertToBoolean, NsfConfigureCmd, ArgumentDefaults)
	(NsfObjectSystemCreateCmd): Rename one more 'bool' identifier. In
	MSVC 14 (Visual Studio 2015) and newer, 'bool' is a proper type,
	not a typedef anymore. 'bool' cannot be used as identifier
	anymore; see C2632. [90b08e1,40e347d]

2016-03-18  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfAPI.*, nsf.c (NsfParseArgsCmd): Add new command
	"nsf::parseargs" to parse an argument vector against a parameter
	definition and to set the resulting variables in the current
	scope; extended regression test. [546f8dd]

	* nsf.c, nsfStack.c, nsfProfile.c: Substitute Tcl_Time for "struct
	timeval" as well as Tcl_GetTime for gettimeofday in profiling code
	to improve portability; esp. Windows. [dc4e227]

2016-03-16  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfInt.h: Newer versions of GCC 6 handle now as well nonnull
	asserts gracefully, so we can turn off its deactivation for GCC
	6. [433266d]

2016-03-07  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* serializer.tcl: Fix serializing of info internals for XOTcl2. [f9f501f]

2016-03-05  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfmongo.c: Reduce verbosity and apply white-space
	changes. [4ca97ca ]

2016-02-19  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (NSGetFreshNamespace, NsfDebugShowObj): Address two more
	GCC 6 pedantic warnings. [ab19daf]

	* nsfFunPtrHashTable.c, nsfCmdDefinitions.c, nsfEnumerationType.c:
	Re-factored new hashtable infrastructure (based on
	function-pointer keys) to support method-definitions (and future
	uses as well). [c01b411]

2016-02-15  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfCmdDefinitions.c: Added Tcl_HashKeyType cmdPtrHashKeyType for
	command pointers. [760d5e6]

2016-02-12  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfDebug.c: Move initializations after nonnull asserts. [67efaa6, acee8b7]

2016-02-11  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (NsfParamDefsVirtualFormat): Ease life of static
	checkers. [f382a52]

2016-02-10  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (GetAllInstances): Removed one more possible NULL
	comparison with a non-null value. [8e97011]

2016-02-03  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Documentation (alias.man.inc, forward.man.inc, method.man.inc): Updating
	doc fragments on debug/deprecated methods. [f56a194]

	* methods.test, object-system.test: Adding some missing test on
	recently added introspection methods. [3c1482d]

2016-02-03  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfProfile.c: (NsfProfileDeprecatedCall): Fix comment. [6d1f42a]

2016-02-03  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Object.man, forward.man.inc, alias.man.inc, method.forward.inc, info.man.inc: Adding
	doc fragments for new info submethods, as well as deprecated and
	debug flags. [74410fa]

2016-02-01  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* serializer.tcl: Improve robustness of serializer, otherwise
	"::nx::Object::slot::__info" triggers an exception. [494410d]

2016-01-27  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (GetClassFromObj): Provide for refcounting before and
	after the call tp NsfCallObjectUnknownHandler. [e05bd93 ]

2016-01-26  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (Nsf_ConvertToClass, NsfRuntimeState): Let NSF create
	classes with ::nsf::object::unknown handler on the fly, when
	C functions are called with objects of type class. This is
	necessary for triggering creation attempts in trace via
	::nsf::object::alloc /cls/ /obj/. [6c041dc]

2016-01-25  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* xotcl2.tcl, pkgIndex.tcl, serializer.tcl: Bump version number of
	XOTcl to 2.1. [52a6105]

2016-01-22  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* generic/*.c: Updated copyright notices, version
	number. [4fa580a]

	* accessor.tcl: Add editor hint. [5fe3bf0]

	* nsfUtil.c: Move assignment aster nonnull assertions. [a3fe572]

	* nsf.c (MixinInvalidateObjOrders, MixinSearchMethodByName): Turned
	all for-loops controlled over a nonnull value into while
	loops. [e5a42b6]

	* README: Update version numbers in README. [4468c69]

	* README.release: Fix description. [1a70aea]

2016-01-19  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfAPI.*, nsfCmdPtr.c, nx.tcl, slottest.xotcl,
	accessor.test, cget.test, parameters.test: Slot trace reform
	incl. a redesign of slot interface of traces. Variables contain
	cmds and variable references to slot-specific methods with the
	same interface as slot-setters. When new flag -trace is set, a
	trace will be registered calling either:

	value=get /obj/ /variableName/; or
	value=set /obj/ /variableName/ /value/; or
	value=default /obj/ /variable/; on the slot.

	Updated regression test accordingly. [dadf28e]

2016-01-12  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* xotclsh.in, xowish.in: Make sure minor versions >2.1 are
	accepted. [286f946]

	* xotclsh.in, xowish.in:  Use nx::shell. [4b92980]

	* nxsh.in, nxwish.in: Use nx::shell. [4bf0e8a]

	* nx-shell.tcl:
	(nx::shell): Started refactoring scripted shell environment into a single, package
	location (nx::shell) to ease sharing between nxsh & friends, as well
	as to facilitate implementingNX/XOTcl shells in wrapped applications
	(tclkits). [6c6f313]
	(nx::shell): Avoid polluting global namespace. [f1bfcbc]

2016-01-11  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* README.release: Update release hints. [2c69f59]

2016-01-08  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c
	(NsfDStringEval): Make sure to reset prevPreventRecursionFlags to
	value before the call. [7ca41c6]
	(NsfDStringEval): Changed interface of to control behavior via
	bitflags (this is after all more readable than a argument list of
	"0" and "1"s); added optional recursion prevention for functions
	called via NsfDStringEval (handling NSF_EVAL_DEBUG, NSF_EVAL_LOG,
	NSF_EVAL_DEPRECATED); added regression tests for potential
	recursive calls. [e367957]

	* xotcl2.tcl: Added flags "-debug" and "-deprecated" to XOTcl 2
	"instproc", "proc", "instforward" and "forward" methods. [ccca1a5]

2016-01-07  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf-cmd.test: Add absolute path in returned proc definition to
	regression test. [a775d31]

	* nsf.tcl: Add result in debug exit calls. [2771c4c]

2016-01-05  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (ListMethod): Return fully qualified name for
	"::nsf::cmd::info definition" when called on plain procs. [fd0f246]

2015-12-30  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nx.tcl, serializer.tcl: Generalize method serialization of
	forwarders. [8cbd921]

2015-12-29  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.h: Fix compilation when DTRACE but no PROFILE is
	activated. [74b39c5]

	* nsf.c, nsfProfile.c: Prefer boolean expressions in assert()
	statements. Make sure, we do not pass null values to nonnull
	arguments. [a529b8f, 22f4e55]

	* Makefile.in: Add etags target. [bce3456]

2015-12-25  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfInt.h, nsfProfile.c, configure.ac: Substitute all
	remaning ObjectName and ClassName for variant with trailing "_",
	where appropriate; allow nsf::procs with zero arguments or plain
	arguments (when "-debug" is used); extended regression test; bump
	version number to 2.1. [a0faba2]

	* serializer.tcl: Provide for backward compatibility in
	method serializer. [c04d6db]

2015-12-22  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfError.c (NsfDStringVPrintf): Fix potential memory corruption
	bug in NsfDStringVPrintf. [cf9bbe0]

2015-12-19  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* serializer.tcl: Added handling of "-debug" and "-deprecated" in
	serializer; allow export of nsfprocs via "exportMethods
	declaration" in order to keep otherwise excluded cmds in the
	result. Hardened serializer (use e.g. "::namespace" instead of
	"namespace" when there is a potential conflict with a method named
	"namespace", prefer nsf::directdispatch, etc.); extended
	regression test. [6a55e4e]

	* nx.tcl: Added flags "-debug" and "-deprecated" to further NX
	method-defining methods. [183cd0a]

2015-12-18  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nx.tcl
	(nx::Class, nx::Object): Added flags "-debug" and "-deprecated" to "?object?
	method"; extended regression test. [2d609d0]
	(nx::Class, nx::Object): Added new introspection options; extended regression test:
	/cls/ info method debug
	/cls/ info method deprecated
	/obj/ info object method debug
	/obj/ info object method deprecated
	[53113de]

	* nsf.c, serializer.tcl, nsf-cmd.test: Handling "deprecated" and
	"debug" properties for nsf::proc (in "nsf::cmd::info definition
	/proc/" and serializer). [63fb7c1]

2015-12-17  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsf.tcl, nsfAPI.*, nsfProfile.c, nsfStack.c: New method properties
	nsf::method::property /obj/ /method/ debug ?0|1?
	nsf::method::property /obj/ /method/ deprecated ?0|1?
	[8854eef]

2015-12-13  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfAPI.*, nx.tcl
	(nx::Object): New introspection method "/obj/ info
	baseclass"; extended regression test. [5a162b0]
	(nx::Object, nx::Class): new introspection methods "/obj/ info object method
	callprotection /m/" and "/cls/ info method callprotection /m/";
	extended regression test. [07b40a4] 

2015-12-12  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* serializer.tcl: Fix ::Serializer->methodSerialize when called
	for per-object methods. [2f76d3a]

	* next-migration.txt: Fix editing bug in documentation. [c105770]

2015-11-30  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* generic/*, gentclAPI.tcl: New macros NSF_nonnull_assert() and
	nonnull_assert(). Background: The unreleased gcc6 with "-pedantic"
	complaints since recently about asserts, in which nonnull
	conditions implied by nonnull declarations are explicitly tested,
	and spits out warnings like "warning: nonnull argument
	[...] compared to NULL". The new macros turns off asserts, when
	gcc6 is used. [16a0288]

	* nsf.c, nsfAPI.*, nsfInt.h, nsfProfile.c, nsfShadow.c: Profile
	trace enhancements, add optional argument "-builtins" to
	"nsf::__profile_trace" to trace a selected list of built-ins. Every
	element of the list passed to "-builtins" might contain a cmd name
	and optionally a maximum number of arguments to be shown
	,typically 0 or 1. Generalized NsfReplaceCommand* logic to become
	more general usable (e.g. for the builtins mechanism of
	nsf::__profile_trace). [19c8474]

2015-11-27  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfProfile.c: Remove redundant prototype. [f1ac62f]

	* nsf.c, nsfInt.h, nsfProfile.c, nsfAPI.*: Use standard logging
	for "nsf::__profile_trace -verbose true" by using the standard
	logging mechanism, we can redefining "::nsf::log" to output e.g.
	trace in a GUI.  Add argument "-dontsave" to nsf::__profile_trace
	to avoid saving trace in memory. Refactor trace and debug output
	to deliver lists. This makes it easier to postprocess the results
	from Tcl. [55c89d7]

	* nsf.h: Place arguments of preprocessor macros into
	parentheses. [6953255]

2015-11-23  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfInt.h (NsfObjectSystem): Silence cppcheck 1.71. [a792884]

2015-11-08  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c
	(ParameterMethodDispatch, NsfNSCopyVarsCmd, NsfOConfigureMethod): Keep
	Tcl error messages, when Tcl_ObjSetVar2 fails. [74d126b]
	(AutonameIncr, NsfOConfigureMethod, ParameterMethodDispatch):
	Handle result of Tcl_ObjSetVar2() in all cases. [2d42793]
	(NsfOConfigureMethod, NsfOCgetMethod): Don't swallow errors
	triggered from variable write traces in configure. [a709e3e]

2015-11-06  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nx.tcl, xotcl2.tcl: Fixed a bug that disallowed the combination
	of valuecmd and valuechangedcmd for a single property (many thanks
	to Zoran for pointing this out). [3946480]

	* nsf.c (Nsf_ThreadExitProc, ArgumentDefaults): White-space
	changes. [dbe0bb3]

2015-11-05  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* parameters.test: Whitespace change. [aca62da]

2015-10-16  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* mkIndex.tcl: In certain build situations, we might still run
	under Tcl 8.4 because it comes as a legacy OS battery. Tcl modules
	are >= 8.5 only. [b137911]

2015-10-01  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfAPI.*, nx.tcl, serializer.tcl: New command
	"nsf::method::forward::property" in analogy to
	"nsf::method::property" for reading+writing introspection of
	forwarders (important for serializer, when different target
	objects are specified, to map the per-object forwarder); extended
	regression test; bumped version number of serializer to 2.1. [f31c1a0]

2015-09-27  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfInt.h: Reduce implicit conversions, write body of
	if-statements as blocks, whitespace changes, prefer boolean
	expressions, add likely/unlikely hints. [afbb465]

2015-09-26  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* generic/*.c: Prefer boolean expressions, reduce implicit
	conversions, write body of if-statements as blocks, whitespace
	changes, update licenses. [2e1a88e]

2015-09-21  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* Makefile.in, autogen.sh, configure.ac: Support building NSF from
	some other directory than the root directory; raise no error,
	when NSF is built with mongo + profile enabled. [1c9684a]

2015-08-11  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c (NSDeleteChild, DispatchDestroyMethod): Improve robustness
	of destroy: in case an error happened in a destroy method in
	implicit delete operations, a crash was possible, since the state
	of the object to be delete was somewhat unclear: it might or might
	not have been deleted. Now, the object is explicitly kept longer
	around to allow proper handling. [19058de]

	* nx.tcl: Don't raise an error, but add warning in cases, slot
	data is inconsistent. [71a3245]

2015-07-29  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c
	(ObjectSystemsCheckSystemMethod): Don't define variables
	inside a block. [9e1cdbe]
	(NextGetArguments): Address coverty CID 102646, second attempt.
	[f3ca6a1]
	(ObjectDispatch): Address covertiy CID 88773. [f90a7fa]

	* gentclAPI.tcl, nsfAPI.h: Revert overeager part of the
	change. Remove logically dead code as flagged by Coverity. Move
	assignments after assertions in generated code.
	[cad3e31,ec070e9,0e247f6]

2015-07-29  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* README.release: Adding details how to upload Coverity builds.
	[6d4bc2b]

2015-07-29  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c
	(FilterInvalidateObjOrders): Remove expressions which were
	always true. [bd4d7d0]
	(FilterInvalidateObjOrders): Turn for() loop into a repeat-until
	loop, since in first iteration, the loop controlling expression
	was always true. [33aa1b2]
	(CleanupDestroyClass): Address coverty CID 88774. [6adb5d9]
	(NsfOResidualargsMethod): Address CID 88776. [1a7f8ba]

2015-07-28  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* README.release: Adding Coverity instructions. [b43b9e2]

2015-07-28  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c: Move dereferencing of members after assertions. [00186f9]

	* nsf.c
	(NsfRelationClassMixinsSet): Move assertion after
	assignment. [9f90d6b]
	(NSDeleteChild): Fix potential bug on Tcl-triggered
	cmd-delete operations, where destroy returns non-TCL_OK and name
	of the object could not be retrieved anymore in error
	message. [92d76b8]
	(ParameterMethodDispatch): Attempt to make Coverty happy (CID
	88769). [a4eaf4e]
	(FreeAllNsfObjectsAndClasses): Remove test, since it is covered
	already by assertions. [accdf4b]

	* nsf.c, nsfInt.h
	(NsfParamDefs): Removed NsfParamDefs.slotObj and
	single occurrence for memory-management since it is not used for
	the time being [08dedac]
	(NsfProcClientData, MethodDispatch, ObjectDispatch): Write
	body-blocks of if on separate lines; change variable name
	"validCscPtr" to "isValidCsc", since it is a boolean and not a ptr
	Tcl coding guidelines; prefer explicit comparisons. [6c7bb9b]

2015-07-28  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c (MethodDispatch): Fix compiler warning on typecast
	mismatch. [4e2b21c]

	* nsfObj.c (MixinregSetFromAny): Re-arrange control flow as to match other
	uses in the code base (CID 88777). [1527180]

2015-07-27  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c
	(ResolveMethodName): Guard against potential null pointer
	dereference (CID 88771). [ca7f760]
	(FreeAllNsfObjectsAndClasses): Remove unneeded NULL check as
	dereferencing already occurred before; check for NULL earlier (CID
	88780). [2638eb9]

2015-07-23  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsfObj.c (MixinregSetFromAny): Fix crash through explicit null dereferencing
	when an invalid list string-rep is provided as mixinreg (CID 88777);
	added tests [207a8f5]

	* nsf.c (MakeProc): Silence false-positive warning, due to missing
	returns_nonnull annotation (CID 88770). [a757c1a]

2015-07-17  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsf.c:
	(ConvertViaCmd, ConvertToObjpattern, GetSlotObject): Check return
	values of GetObjectFromObj explicitly (CID 88763, 88764,
	88765). [8357e61]
	(ObjectSystemsCheckSystemMethod): Mark TCL_ERROR path as unlikely.
	[c0e1053]
	(ObjectSystemsCheckSystemMethod): Re-order control flow to remove
	otherwise dead IF-branch (CID 88768). [1eaf0a3]
	(NsfMethodPropertyCmd): Dropped option 'slotobj' as it is
	obsolete.  Also fixes CID 88767. [6c9eb2e]
	(ListMethod): Make sure that 'info method exists' returns 0 for
	(plain) NX objects; added some tests. [0b1ac7f]
	(ListCmdParams): Removed logically dead code (CID
	88779). [c2e5725]

	* Documentation (info.man.inc): Make empty-string ambiguity
	explicit for 'info method *'. [497451f]

2015-07-16  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsfStack.c (NsfShowStack): Removed logically dead code. CID
	88766. [caee18f]

2015-04-07  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsfInt.h: Fix compilation when compiled without --enable-profile.
	[6c58e11]

2015-04-06  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* gentclAPI.tcl, nsf.c, nsfProfile.c: Improve profiling support
	and added profile support for undispatched methods (i.e.
	implemented via CallDirectly). New function for controlling
	profile trace "nsf:__profile_trace -enable /bool/ ?-verbose
	/bool/?". [c5f2227]

2015-04-03  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* nsfDebug.c, nsfInt.h, nsf-cmd.test: Silence varargs warning
	-Wgnu-zero-variadic-macro-arguments under clang --std=c99
	-pedantic, tested under gcc, clang 3.6, and MSVC; added tests.
	[714726d]

2015-04-01  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfError.c, nsfProfile.c: Changed trace facility to
	append to a variable to minimize interactions for results and
	return codes, which happen via nsf::log; added more convenient
	function for adding to DStrings: Nsf_DStringPrintf; renamed
	NsfDStringPrintf to NsfDStringVPrintf; replaced complex macros
	for tracing by functions. [453ad27]

2015-03-31  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfAPI.*, nsfInt.h, nsfProfile.c: Added experimental
	"nsf::configure trace" feature, which can be enabled when compiled
	with profile support. trace turns on automatically profile.
	[e1c25b4]

2015-01-22  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfDebug.c, nsfStack.c: Improve cleanness of compilation
	when "-pedantic" is used. [bf951b5]

2015-01-05  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfDebug.c, nsfObj.c: Assignments after assertions.
	[658c5ca]

	* Makefile.in: Add -DNDEBUG=1 to flags passed to cppcheck, since
	cppcheck reports checked cases as warnings. [efb84f6]

2015-01-02  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* generic/*.c: Prefer const over CONST unless Tcl API. [dbd95b0]

2015-01-01  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* Documentation: Strip old content from announce file. [5bdfdb7]

2014-12-13  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* gentclAPI.tcl, nsfAPI.h, mongoAPI.h: Use same definition for
	ObjCmds as in Tcl; prefer "const" over "CONST" unless in Tcl
	interface. [62beaf1]

	* Documentation (doc/example-scripts/*): Regenerate doc pages with
	asciidoc 8.6.9, fix paths. [24cb8f4]

	* nsf.c, nsf.h (NsfLog): Align log levels with
	NaviServer/AOLserver. [6b00c4e]

2014-12-11  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.c, nsfmongo.c: Fix all complaints from clang static analyzer
	3.6. [919f731]

2014-12-06  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* Documentation (next-migration.txt, next-tutorial.txt): Update
	date in documentation. [d725e5e]

	* Makefile.in: Make sure to rm .o files in stub directory.
	[4f7f7c1]

	* mktar.sh: Make sure to omit Mac OS X hidden file from tarballs.
	[9fe4a51]

2014-12-04  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* generic/*.c:  Prefer boolean expression in tests over expressions of
	other types. [24571ae]

2014-12-01  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* aolstub.c, nsf.c, nsfEnumerationType.c, nsfInt.h: Add const
	declarations, improve compilation with --std=c99
	-pedantic. [9e00fd1]

	* nsfInt.h, nsfUtil.c, nsfmongo.c: Make compilation clean with
	clang 3.6. [81a1f96]

	* nsf.c, nsfStack.c: Make compilation clean under clang
	3.6. [1173a57]

2014-11-25  Gustaf Neumann  <neumann@wu-wien.ac.at>

	* nsf.decls: Add NsfArgumentError() to stub interface, since this
	might be used by C packages using the interface generator. [9e8610b]
	* nsfmongo.c: Add mong::json to the interface, bump version number
	for mongo interface to 0.4. [9e8610b]

2014-10-29  Stefan Sobernig  <stefan.sobernig@wu.ac.at>

	* Documentation (doc/*.man, man-princexml.css): Fix PDF rendering
	and man markup. [83b89fe]
