[GRASSLIST:3691] Re: [GRASS5] GRASS 5.7.0 beta5 - small change

,

Hi Radim,

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} }

Hi
--
________________________________________________________________________
|| Lorenzo Moretti e-mail: lorenzo.moretti@bologna.enea.it ||/|/| ENEA prot/idr Web: http://wwwamb.bologna.enea.it/ || | via Don Fiammelli, 2 FTP: ftp://ftpamb.bologna.enea.it/ (res.)
~~~~~~ 40128 BOLOGNA - ITALY Ph: +39-0516098086 Fax: +39-0516098131
      Download GRASS for MAC OS X: http://wwwamb.bologna.enea.it/forgrass/
________________________________________________________________________

I don't want to introduce more errors just now,
this may be done after 5.7.0.

Thanks
Radim

On Thursday 17 June 2004 12:54, Lorenzo Moretti wrote:

Hi Radim,

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} }

Hi

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.

--
Glynn Clements <glynn.clements@virgin.net>

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