"Craig A. Berry" <[EMAIL PROTECTED]> wrote:
> Well, here's how to pretend that the current directory is the root of
> a volume. Having the test do something like this before running
> Makefile.PL is probably what we'll have to do:
[DCL script example omitted]
I had my doubts about this approach in the case where you were already in a
rooted directory, but actually running the example made me realize I was
being obtuse. The script provided, though, does not actually work from a
rooted directory, producing the following output:
"MM_ROOT" = "MYNODE$DRA1:[USERS.][WYANT.PERL.]" (LNM$PROCESS_TABLE)
%RMS-F-DEV, error in device name or inappropriate device type for operation
(the RMS error being the result of a SHOW DEFAULT with an invalid default).
The problem (at least under my version of the OS) is the "][". Proposed
correction:
$ mm_root = f$parse("SYS$DISK:[]",,,,"NO_CONCEAL") - -
".][000000" - "][" - "].;" + ".]"
$ define/translation=concealed mm_root 'mm_root'
$ show logical mm_root
$ set default mm_root:[000000]
$ show default
All I really did was to insert a "-][" after the ".][000000" in the first
line (which I continued to try to avoid invalid DCL due to egregious line
wraps). This produces
"MM_ROOT" = "MYNODE$DRA1:[USERS.WYANT.PERL.]" (LNM$PROCESS_TABLE)
MM_ROOT:[000000]
Note that this appears not to be a problem even if the user is an old
TOPS-10 hacker:
$ set default users:<wyant.perl>
$ show default
USERS:<WYANT.PERL>
$ @trw
%DCL-I-SUPERSEDE, previous value of MM_ROOT has been superseded
"MM_ROOT" = "MYNODE$DRA1:[USERS.WYANT.PERL.]" (LNM$PROCESS_TABLE)
MM_ROOT:[000000]
My opinion at the moment is that if the MM_ROOT dodge is feasable to
implement, it's about the best that can be done for those of us stuck in
the dark ages.
Tom Wyant