[GRASSLIST:3707] Re: [GRASS5] GRASS 5.7.0 beta5 - small change
Markus Neteler
neteler at itc.it
Fri Jun 18 06:00:30 EDT 2004
On Thu, Jun 17, 2004 at 02:48:18PM +0100, Glynn Clements wrote:
>
> Radim Blazek wrote:
>
> > > I see a small cosmetic error.
> > >
> > > Change in display/d.m/dm.tcl
> > >
> > > line 71
> > > {command "About &System" {} "About System" {} -command { exec
> > > $env(SHELL) $env(GISBASE)/etc/dm/tksys.tcl --tcltk} }
> > >
> > > changed
> > > {command "About &System" {} "About System" {} -command { exec
> > > $env(GISBASE)/etc/dm/tksys.tcl --tcltk} }
> >
> > I don't want to introduce more errors just now,
> > this may be done after 5.7.0.
>
> Actually, it isn't cosmetic, it's a bug fix. The existing version will
> fail if $env(SHELL) refers to a C shell, as $@ isn't a valid variable
> name in such shells.
>
> tksys.tcl uses Bourne-shell syntax to re-execute itself using
> $GRASS_WISH. If the script was executed directly, the #!/bin/sh line
> will force it to be read by /bin/sh (which is guaranteed to be a
> Bourne shell) regardless of the user's $SHELL setting.
>
> OTOH, executing directly will fail if the script doesn't have the
> executable bit set.
>
> The command should just execute it via $GRASS_WISH directly, rather
> than relying upon the "comment hack" to do so, i.e.:
>
> exec $env(GRASS_WISH) $env(GISBASE)/etc/dm/tksys.tcl --tcltk
>
> That doesn't depend upon either $SHELL being a Bourne shell or
> tksys.tcl having the executable bit set.
Thanks,
fixed in CVS.
Markus
More information about the grass-user
mailing list