Pathnames and Prefixes

Normally under GS/OS there are 32 prefixes, and these are all under control of the current application. GNO/ME extends this concept to provide each process with it's own copies of all prefixes. When a process modifies one of these prefixes via the GS/OS SetPrefix call, it modifies only it's own copy of that prefix — the same numbered prefixes of any other processes are not modified.

Pathname processing has been expanded in GNO/ME. There are now two new special pathname operators that are accepted by any GS/OS call that takes a pathname parameter:

    .    current working directory
    ..   parent directory

For example, presume that the current working directory (prefix 0) is /foo/bar/moe. “./ls” refers to the file “/foo/bar/moe/ls”, and since a pathname was specified, this overrides the shell's hash table. “../ls“ refers to “/foo/bar/ls”. The operators can be combined, also, as in “../../ls” (“/foo/ls”), and “./.././ls” (“/foo/bar/ls”). As you can see, the '.' operator is simply removed and has no effect other than to force a full expansion of the pathname.

Shorthand device names (.d2, .d5, etc) as are used in the ORCA/Shell are available only under System Software 6.0 and later. The common pathname operator ''̃ (meaning the home directory) is handled by the shell; if the character appears in a GS/OS call it is not treated specially.

$2004 ChangePath
$200B ClearBackupBit
$2001 Create
$2002 Destroy
$200E ExpandPath
$2006 GetFileInfo
$200A GetPrefix
$2010 Open
$2005 SetFileInfo
$2009 SetPrefix

Feedback