branch 'rivet-namespace' now has a working module that uses a command
set entirely relocated within the ::rivet namespace. The branch includes
all the changes made so far to trunk, so basically it's like 'trunk'
with a few more changes.
I had to give up letting rivet/init.tcl import the namespace into the
root namespace (as per Damon's suggestion). My view is that we have to
treat the whole command set (i.e. commands listed and documented in the
manual in section 'Rivet Tcl Commands and Variables') as a whole and
therefore we should get all of them into ::rivet. Unfortunately because
of a bug in Tcl it could be impossible on some platform to require
package ::rivetlib (formerly named 'Rivet') either from C or from Tcl in
rivet/init.tcl. This lead me to file bug #3276070 concerning Tcl method
to load shared libraries, Jan Nijtmans supported it and patched the code
in repository (it's not clear to me whether the fix will go into Tcl8.6
or already in the next 8.5 bugfix release)
As a consequence some important commands such as 'escape_sgml_chars' or
'[un]escape_string' have to be loaded in the application scripts anyway
with the usual 'package require rivetlib' and then, to have full
compatibility with existing code, a new 'namespace import ::rivet::*'
has to be reissued. Notice that the right way to import ::rivet is
namespace import -force ::rivet::*
because ther's at least one command (lassign) which is a
reimplementation of a native command. One more reason for introducing
the namespace and not importing it unless absolutely needed.
Other changes:
1) command incr0 has been removed: from tcl8.5 the native 'incr'
provides identical functionalities
2) documentation for not documented commands in rivet-tcl has been
added. Some command are still undocumented: I haven't figured out what
they were meant for and they look like pieces of a larger, unfinished
and undocumented feature.
testers are welcome to step forward and get the hell out of this branch
so that we can improve it.
-- Massimo
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org