[GRASS5] Environment variable listings...

Eric G. Miller egm2 at jps.net
Sat Aug 11 08:54:22 EDT 2001


On Sat, Aug 11, 2001 at 11:51:08AM +0100, Glynn Clements wrote:
> 
> Analysing the results of a recursive grep indicate that:
[snip]
> Summary: 21 using G__getenv() and 60 using getenv(), with 2 variables
> occurring in both categories.
> 
> > I guess what we need here is a little consistency.  Either ~/.grassrc5
> > contains all the settable environment variables that are GRASS specific,
> > or it shouldn't contain any.  Right now, there's apparently a mixture.
> 
> Due to the way in which the environment works, variables which are
> changed by specific commands, (e.g. MONITOR and "d.mon select=...") 
> cannot be implemented as environment variables.

Yes.

> OTOH, some of the above variables have to be environment variables. 
> E.g. the value of TERM has to be taken from the environment, and HOME
> and USER should probably be treated likewise.

Yes.

> In other cases, it's largely irrelevant, but only because GRASS is
> currently tied to the "session" model, and doesn't permit a user to
> run multiple GRASS sessions simultaneously. If this were to change, in
> most cases there would be an advantage to using environment variables,
> as they can be set on a per-process basis.

I think many on this list will agree we don't really like the current
session management system.  Besides this bit about the environment,
the other annoyances include:

  *  Only allowed to run 1 session at a time
  *  Uses "global" mapset lock rather than more appropriate fcntl() file
     locking (as needed).
  *  Inability to change GISDBASE/LOCATION/MAPSET on the fly.
  *  Doesn't play well with multiuser shared data scenario.

I'll not commit the g.gisenv change, since obviously the listing would
be less useful than I originally thought.

-- 
Eric G. Miller <egm2 at jps.net>



More information about the grass-dev mailing list