[gnu.emacs.vms] GOTCHA in VMS GNU EMACS 18.55

rbr4@uhura.cc.rochester.edu (Roland Roberts) (01/23/90)

The fix put forward by Mike Iglesias is generally the preferred method
for this sort of thing.  It should be pointed out that in this case
the "problem" *might* be due to the VAXC RTL.  Notice the following:

$ define pwd user$disk2:[roberts]
$ pwd :== $user$disk2:[roberts.public.cd]pwd.exe
$ define foo "Hi Mom"
$ bar :== @login.com
$ runemacs ! below are the contents of the *scratch* buffer
(getenv "pwd")
"$USER$DISK2:[ROBERTS.PUBLIC.CD]PWD.EXE"
(getenv "PWD")
"USER$DISK2:[ROBERTS]"
(getenv "foo")
nil
(getenv "FOO")
"Hi Mom"
(getenv "bar")
"@LOGIN.COM"
(getenv "BAR")
"@LOGIN.COM"
C-x C-c
$

If both the symbol and the logical are defined, case determines which you get.
If only the logical is defined, you must use uppercase.
If only the symbol is defined, that's what you get, case independent.

Not very nice, since on unix, getenv returns nil for alias'es.

roland
-- 
Roland Roberts,  University of Rochester   BITNET: roberts@uornsrl
  Nuclear Structure Research Lab         INTERNET: rbr4@uhura.cc.rochester.edu
  271 East River Road                        UUCP: rochester!ur-cc!rbr4
  Rochester, NY  14267                       AT&T: (716) 275-8962

jym@eris.berkeley.edu (& Dyer) (01/23/90)

It is mondo bogus for getenv() to get both symbols and logical
 names (and don't get me started about aliases and DEC/Shell).
  This also munches programs that use their own names as
   environment variables.  So what if you want to create a
    command symbol with the same name as the program?

My solution has been to make a vms_getlnm() function that will
 work like getenv(), but only on logical names.
:::.-----.::: <_Jym_> ::::::::::::::::::::::::::::::::::.-----.:::
::/   |   \:::::::::::::::::::::::::::::::: Jym Dyer ::/  o o  \::
::\  /|\  /::::::::::::::::::: jym@mica.berkeley.edu ::\ \___/ /::
:::`-----':::::::::::::::::: Berserkeley, California :::`-----':::