[comp.sys.amiga] Environments

page@swan.ulowell.edu (Bob Page) (02/17/88)

bryan@mothra.cs.utexas.edu wrote:
>how to make popCLI remember the path of its parent CLI, and pass this
>to its 'children.'

FunKeys (by MicroSmiths) doesn't remember the path either.

>How does one pass environments around in AmigaDOS in general?

AmigaDOS doesn't have 'environments' per se.  Manx came up with a
version that uses a fake library called 'environment', Tomas Rokicki
came up with a better way that also uses a fake library.

Bill Hawes, author of ConMan & ARexx, has a shell coming out that uses
a different concept: He uses a DOS handler ENV: that acts like a file
system.  You can copy files to it, and the names of the files are the
variable names.  The contents of the files are the expansion of the
environment variables.

What's useful about this?  Well, the best thing is that you have loads
of tools to manipulate environments ... just your normal DOS tools!
In addition, you can do a lot of things that you can't get with a fake
library, like look at the last modification time of each environment
variable, have all languages/programs manipulate them in a standard
way (don't need setenv/getenv or special SET programs), have multiple
environments ("assign env: vdk:env" for normal work, and something
like "assign env: df1:env" for some special application) with no pain
and only one command, etc.

I admit I didn't like this idea when I first heard it, but it's so
easy (normal, regular, fast) to use & doesn't require you to memorize
something new to get your job done, that I now use it all the time.
Of course I still have to use the Manx stuff since the Manx compiler
doesn't understand this (yet?), but I think this is the future.
Actually Bill tells me that he got the idea from a well-known Amiga
software wizard in West Chester, so maybe they're contemplating
something similar.

NOTE: this shell isn't yet available; I've been beta testing it.  This
shell (resident commands with checksum, aliases, pipes, built-in
control flow [if, failat, etc], pushd/popd/cd, versatile prompt, etc),
plus Conman 1.1 (search history, load history from file, save history
to file, delete to end of word, configurable history size, etc) and
ARexx, THE macro/programming language for the Amiga -- make for a
great CLI environment.

Also note I don't work for Bill Hawes, this is just praise for some
great tools that have made my life with Amiga a lot easier.

..Bob
-- 
Bob Page, U of Lowell CS Dept.  page@swan.ulowell.edu  ulowell!page
"I don't know such stuff.  I just do eyes."  -- from 'Blade Runner'