remove various code smells: - add const declarations - prefer boolean tests - don't write "for" loops without a block - don't pass non-initialized value in an array on index [0] - reduce variable scope - prefer single returns statements in functions - dont't use CONST unless defined by Tcl-API
- 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
- add NsfArgumentError() to stub interface, since this might be used by c packages using the interface generator - add mong::json to the interface - bump version number for mongo interface to 0.4.
small introspection reform: - Introspection for commands and arguments did not work for cmds defined in subpackages (such as mongodb). We keep now this information in hashtables and maintain a slim interface for this. - fix generation of pkgIndex.tcl for mongodb
- nsf.c: * enabled MEM_COUNT debugging for multi-threaded apps. We collect the MEM_COUNT statistics now per interp. Therefore, we have to pass around "interp" in case where alloc() and free() or refCount functions are used (textually, a big change) * verified, that nsf runs clean in aolserver/naviserver (all INCR_REF_COUNTS all balanced)
- nsf.c: * improved source code documentation * added parameter option "args" in order to get eventually rid of hard-wired residual args. * improved a few error messages * fixed object parameters consisting only of plain parameters (previously, no parameters were returned in this case, e.g. for method parameters; but object parameter code depends on it) - extended and updated regression tests
- new printf-style error message generator: NsfPrintError() - simplified error handling: removed NsfVarErrMsg() and NsfErrMsg() and replaced it by NsfPrintError()
- quote name of referenced parameter in error message to ease reading - new parameter checker "parameter", performing an approximate checking for valid parameter specs - set NSF_ARG_CHECK_NONPOS only when there are multiple arguments - remove space checking for NSF_ARG_CHECK_NONPOS in favor of parameter checker
- BRO continues: - changed all XOTCL_ into NSF_ - changed all XOTCLINLINE into NSF_INLINE - changed all XOTCLOBJ_TRACE into NSFOBJ_TRACE - changed all XOTcl_ into Nsf_ - changed all XOTcl([A-Z]) into Nsf\1 - changed all xotcl into nsf
- changed changeClass into ChangeClass
- changed XOTclpGetObject into GetObjectFromString
- changed XOTclpGetClass into GetClassFromString
- changed callDestroyMethod into DispatchDestroyMethod