Getting started with tcl

Syd Polk
Thu Aug 3 10:19:00 GMT 2000

At 05:40 PM 8/3/00 +0100, Bruce Stephens wrote:
>Thomas Heller <> writes:
> > I'm trying to understand how SN starts 'make'.
> > Since I'm an absolute beginner to tcl, can
> > someone please explain the following line
> > (from share/gui/multimake.tcl, method ExecMake):
> >
> >   set ret [catch {@@set make_fd [@@open "| $make_cmd" r]} msg]
> >
> > I can decipher most of it, but what do all the @'s mean?
> > Is this standard tcl? I did not find something like
> > this in the Ousterhout book...
>Normally it would mean nothing: @@set would simply refer to a command
>called "@@set".  However, the ChangeLog in itcl suggests that things
>have been changed so that @@ means the same as ::.

@@ in incr Tcl 1.5 commands does mean the same as ::.

>So try thinking of it in those terms.  Ousterhout's book is
>unfortunately too old to cover namespaces; however, the namespace(n)
>manpage describes it.  Anyway, namespaces work sufficiently obviously
>that they shouldn't be surprising.
>I don't know why they'd have changed things in this way.

This is an evil Cygnus-local hack to get namespaces to work in incr Tcl 
1.5. This will go away once we put a snapshot of SN 5.0 on the web. 
Hopefully, in September.
Syd Polk
Engineering Manager	+1 415 777 9810 x 241
Red Hat, Inc.

More information about the Sourcenav mailing list