-- Ken Williams <[EMAIL PROTECTED]>

> 
> On Feb 9, 2006, at 1:43 PM, Craig A. Berry wrote:
> 
>> At 9:56 PM -0600 2/8/06, Ken Williams wrote:
>>> Hi Steven,
>>> 
>>> On VMS is 'USER:[SLEMBARK.FINDBIN-LIBS-1_20]' an absolute path, i.e. 
>>> is the SLEMBARK directory understood to be at the root of the USER 
>>> volume?
>> 
>> Yes.  You would not see the volume name if it weren't an absolute path.
> 
> So on VMS there's no equivalent of the Windows pathname "C:Foo\Bar",
> which means "the Foo\Bar directory relative to whatever the C drive's
> current working directory is"?
 
On vms you can have a leading '.' that designates a directory
relative to the default. There is no notion of a 'working'
directory on VMS in that sense. You have the "default" set
via "set def" used to fill in portions of the path not
provided on the command.

For example:

    $ set def sys$login:
    $ set def [SANDBOX]
    $ show def

gives me a default of whatever "sys$login:" is aliased to
with a subdir of "SANDBOX". But the "show def" will always
give me an absolute path since the default will be used by 
DCL to fill in any missing portinos of the path.

A leading '.' designates the path as relative to the current
default.

In other words:

    $ set def USER:[SLEMBARK]
    $ set def [.SANDBOX]
    
is converted by DCL into

    $ set def USER:[SLEMBARK.SANDBOX]

which is an absolute path. Net result is that relative paths
are converted on the fly to absoute ones using the current 
default value loaded via "set default".

This replaces the *NIX notion of "working directory" with 
one of a "current default" that is used to convert relative
paths into absolute ones.

This matters on VMS becuase the volume portion can be all
sorts of things, including search lists, all of which are
opaque to the caller. This allows me to 

    set def USER$SANDBOX:

and later 

    set def [FOOBAR]

and end up in USER:[PROJECTS.SANDBOX.INWORK.FOOBAR] becuase 
VMS checked in the eight dir's defined as user$sandbox: and
the first one with a 'FOOBAR' subdir became my new default.


-- 
Steven Lembark                                       85-09 90th Street
Workhorse Computing                                Woodhaven, NY 11421
[EMAIL PROTECTED]                                     1 888 359 3508

Reply via email to