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 <ma...@unipr.it> on 2011/02/15 15:03:30 UTC

branches/rivet-namespace ready

I've just merged the latest commits from trunk into 
branches/rivet-namespace.

This branch holds the code that introduces the ::Rivet namespace where 
all the module commands are located. Commands in librivet.so are now 
placed in the package RivetLib (formerly called simply 'Rivet'). The 
change was motivated by the need to leave the work ::Rivet to everything 
is pertaining the core module.

A trivial way to assure compatibility with existing scripts can be 
achieved by adding these lines to the configuration

RivetServerConf ChildInitScript "package require RivetLib"
RivetServerConf ChildInitScript "if {[package present Rivet] >= 1.2} {"
RivetServerConf ChildInitScript "   namespace import ::Rivet::*"
RivetServerConf ChildInitScript "}"

Notice:

  -- Rivetlib creates commands into the ::Rivet namespace and puts them 
on the export list
  -- Commands are created into the ::Rivet namespace. Changing to other 
forms (::rivet or ::RIVET) can be done in a split second, as it's just a 
preprocessor definition. Just express your opinion

I will allow a week for anyone to try this branch before commiting into 
trunk

  -- Massimo


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


Re: branches/rivet-namespace ready

Posted by Massimo Manghi <ma...@unipr.it>.
A few clarifications of my previous message

On 02/15/2011 03:03 PM, Massimo Manghi wrote:
> I've just merged the latest commits from trunk into
> branches/rivet-namespace.
>
> This branch holds the code that introduces the ::Rivet namespace where
> all the module commands are located. Commands in librivet.so are now
> placed in the package RivetLib (formerly called simply 'Rivet'). The
> change was motivated by the need to leave the work ::Rivet to everything

I meant "...to leave the namespace ::Rivet...."

 > is pertaining the core module.

>
> A trivial way to assure compatibility with existing scripts can be
> achieved by adding these lines to the configuration
>
> RivetServerConf ChildInitScript "package require RivetLib"
> RivetServerConf ChildInitScript "if {[package present Rivet] >= 1.2} {"
> RivetServerConf ChildInitScript " namespace import ::Rivet::*"
> RivetServerConf ChildInitScript "}"
>

it should work also in InitGlobalScript and ServerInitScript

> Notice:
>
> -- Rivetlib creates commands into the ::Rivet namespace and puts them on
> the export list
> -- Commands are created into the ::Rivet namespace. Changing to other
> forms (::rivet or ::RIVET) can be done in a split second, as it's just a
> preprocessor definition. Just express your opinion
>
> I will allow a week for anyone to try this branch before commiting into
> trunk
>


  -- Massimo

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


Re: branches/rivet-namespace ready

Posted by Massimo Manghi <ma...@unipr.it>.
On Tue, 15 Feb 2011 13:47:37 -0600, Damon Courtney wrote
> On Feb 15, 2011, at 8:03 AM, Massimo Manghi wrote:
> 
> > I've just merged the latest commits from trunk into branches/rivet-namespace.
> > 
> > This branch holds the code that introduces the ::Rivet namespace where all
the module commands are located. Commands in librivet.so are now placed in the
package RivetLib (formerly called simply 'Rivet'). The change was motivated by
the need to leave the work ::Rivet to everything is pertaining the core module.
> > 
> > A trivial way to assure compatibility with existing scripts can be
achieved by adding these lines to the configuration
> > 
> > RivetServerConf ChildInitScript "package require RivetLib"
> > RivetServerConf ChildInitScript "if {[package present Rivet] >= 1.2} {"
> > RivetServerConf ChildInitScript "   namespace import ::Rivet::*"
> > RivetServerConf ChildInitScript "}"
> > 
> > Notice:
> > 
> > -- Rivetlib creates commands into the ::Rivet namespace and puts them on
the export list
> > -- Commands are created into the ::Rivet namespace. Changing to other
forms (::rivet or ::RIVET) can be done in a split second, as it's just a
preprocessor definition. Just express your opinion
> > 
> > I will allow a week for anyone to try this branch before commiting into trunk
> 
> I would call it ::rivet instead of ::Rivet.  I would also call the 
> library simply rivet.  IE:
> 
> package require rivet
> namespace import ::rivet::*
> 
> I don't think there's a compelling reason for the names to be 
> anything more than that.  Also, I think it might be wise at this 
> point to do the namespace import automatically for the current 
> release but mark it as deprecated and encourage people to start 
> using ::rivet::X instead of just the command name.
> 

ok, it looks like a sensinble choice. Since a 'Rivet' package already existed
I took the conservative choice (many Tcl packages have capital initials after
all). Let me wait for the one week lapse and if no one has something against
it I will commit the lowercase form

 -- Massimo



--


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


Re: branches/rivet-namespace ready

Posted by Damon Courtney <da...@tclhome.com>.
On Feb 15, 2011, at 8:03 AM, Massimo Manghi wrote:

> I've just merged the latest commits from trunk into branches/rivet-namespace.
> 
> This branch holds the code that introduces the ::Rivet namespace where all the module commands are located. Commands in librivet.so are now placed in the package RivetLib (formerly called simply 'Rivet'). The change was motivated by the need to leave the work ::Rivet to everything is pertaining the core module.
> 
> A trivial way to assure compatibility with existing scripts can be achieved by adding these lines to the configuration
> 
> RivetServerConf ChildInitScript "package require RivetLib"
> RivetServerConf ChildInitScript "if {[package present Rivet] >= 1.2} {"
> RivetServerConf ChildInitScript "   namespace import ::Rivet::*"
> RivetServerConf ChildInitScript "}"
> 
> Notice:
> 
> -- Rivetlib creates commands into the ::Rivet namespace and puts them on the export list
> -- Commands are created into the ::Rivet namespace. Changing to other forms (::rivet or ::RIVET) can be done in a split second, as it's just a preprocessor definition. Just express your opinion
> 
> I will allow a week for anyone to try this branch before commiting into trunk

I would call it ::rivet instead of ::Rivet.  I would also call the library simply rivet.  IE:

package require rivet
namespace import ::rivet::*

I don't think there's a compelling reason for the names to be anything more than that.  Also, I think it might be wise at this point to do the namespace import automatically for the current release but mark it as deprecated and encourage people to start using ::rivet::X instead of just the command name.

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