You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Massimo Manghi <mx...@apache.org> on 2012/12/13 01:23:40 UTC
Problem with Rivet 2.1.0
I'm going to open a ticket for Rivet 2.1.0. The problem is serious but
it doesn't make Rivet unusable anyway.
Short description: building Rivet with
--enable-import-rivet-commands doesn't guarantee commands in librivet
are actually imported into the global namespace.
Longer description: User might be believing the whole command set was
imported into the global namespace whereas it's not true. Commands in
librivet must be loaded reiterating a namespace import command. The
problem has been fixed in trunk by exchanging the order with which
package Rivet and package rivetlib are required (requiring package Rivet
runs init.tcl and imports into global namespace the commands from ::rivet).
I also renamed package RivetTcl (rivet/init.tcl) as package 'Rivet'. In
Rivet<=2.0 librivet provided package Rivet and thus there are scripts
around the are requiring it. Since the name Rivet seemed inappropriate
for a library of standalone code it was renamed as 'rivetlib' and that
package disappeared. After all init.tcl prepares the basic Rivet Tcl
stuff I thought it could be the script providing a 'Rivet' package thus
preserving those scripts requiring it.
Temporary workaround for the current 2.1.0 code: package 'rivetlib' must
be required in a child initialization
eg:
RivetServerConf ChildInitScript "package require rivetlib"
RivetServerConf ChildInitScript "namespace import -force ::rivet::*"
I'm terribly sorry. It wasn't difficult to find this out, still writing
a test for it is impossible as the controlling parameters are set
running 'configure', not in the configuration...
-- Massimo
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org