Dear Rivetters

In my spare time I resumed the development for branch rivet-namespace. The test suite is being readjusted to account for the scoping of commands in the ::rivet namespace. I plan to add a few more tests and review others for this purpose.

configure.ac accepts now a new --disable-namespace-export switch that prevents mod_rivet from exporting the command set from ::rivet, thus forcing a programmer to specify the FQ names (or alias the same commands in the global namespace if they want to insist with their bad habits). Default for this macro is to export the ::rivet namespace so that existing applications can run by adding a

RivetServerConf ChildInitScript "namespace import -force ::rivet::*"

commands formerly provided by the 'Rivet' namespace (as documented in http://tcl.apache.org/rivet/manual/unescape_string.html) are now provided by the 'rivetlib' package. Package 'Rivet' will be a null package to keep compatibility. Analyzing in more detail the whole business of name spaces and packages used in Rivet it turned out there is much overlapping and interference between names, so I tentatively tried to imagine names that could be telltale of their role.

'rivetlib' package is automatically required in mod_rivet, so no need to load it intentionally, but this constraints Rivet to be built with Tcl 8.5.10+ or Tcl8.6b1+ because they fix bug #3216070 that crashed Apache child processes. Test on Tcl version will be added to configure.ac using the ax_compare_version.m4 macro, but TEA might provide its own macro for testing Tcl patchlevel. I'll check it out.

::incr0 was removed and it's now provided as an alias of ::incr

comments and suggestions welcome. I think I could reintegrate this branch before December, provided fixing the test suite won't reveal unexpected problems.

 -- Massimo

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org

Reply via email to