Copyright Digital Equipment Corp. All rights reserved.

DECC$RENAME_ALLOW_DIR

   Enabling DECC$RENAME_ALLOW_DIR restores the prior OpenVMS
   behavior of the rename function by allowing conversion to a
   directory specification when the second argument is an ambiguous
   file specification passed as a logical name. The ambiguity is
   whether the logical name is a UNIX or OpenVMS file specification.
   Consider the following example with DECC$RENAME_ALLOW_DIR
   enabled:

   rename("file.ext", "logical_name") 
                           /*where logical_name = dev:[dir.subdir]*/
                           /* and :[dir.subdir] exists.          */

   This results in:

   dev:[dir.subdir]file.ext

   This example renames a file from one directory into another
   directory, which is the same behavior as in legacy versions
   of OpenVMS (versions before 7.3-1). Also in this example, if
   dev:[dir.subdir] does not exist, rename returns an error.

   Disabling DECC$RENAME_ALLOW_DIR provides a more UNIX compliant
   conversion of the "logical_name" argument of rename. Consider the
   following example with DECC$RENAME_ALLOW_DIR disabled:

   rename("file.ext", "logical_name") 
                       /* where logical_name = dev:[dir.subdir] */

   This results in:

   dev:[dir]subdir.ext

   This example renames the file using the subdir part of the
   "logical_name" argument as the new filename because on UNIX
   systems, renaming a file to a directory is not allowed. So
   rename internally converts the "logical_name" to a filename, and
   dev:[dir]subdir is the most reasonable conversion it can perform.

   This new feature switch has a side effect of causing rename to a
   directory to take precedence over rename to a file. Consider this
   example:

   rename ( "file1.ext", "dir2" )      /* dir2 is not a logical */

   With DECC$RENAME_ALLOW_DIR disabled, this example results in
   dir2.ext, regardless of whether or not subdirectory [.dir2]
   exists.

   With DECC$RENAME_ALLOW_DIR enabled, this example results in
   dir2.ext only if subdirectory [.dir2] does not exist. If
   subdirectory [.dir2] does exist, the result is [.dir2]file1.ext.

                                  NOTE

      If DECC$RENAME_NO_INHERIT is enabled, UNIX compliant
      behavior is expected, so DECC$RENAME_ALLOW_DIR is ignored,
      and renaming a file to a directory is not allowed.