Pathnames
*********

Lisp Pathnames
==============

There are many aspects of ANSI Common Lisp's pathname support which are implementation-defined and so need documentation.

The SYS Logical Pathname Host
-----------------------------

The logical pathname host named by "SYS" exists in SBCL.  Its logical-pathname-translations may be set by the site or the user applicable to point to the locations of the system's sources; in particular, the core system's source files match the logical pathname "SYS:SRC;**;*.*.*", and the contributed modules' source files match "SYS:CONTRIB;**;*.*.*".

Native Filenames
================

In some circumstances, what is wanted is a Lisp pathname object which corresponds to a string produced by the Operating System.  In this case, some of the default parsing rules are inappropriate: most filesystems do not have a native understanding of wild pathnames; such functionality is often provided by shells above the OS, often in mutually-incompatible ways.

To allow the user to deal with this, the following functions are provided: parse-native-namestring and native-pathname return the closest equivalent Lisp pathname to a given string (appropriate for the Operating System), while native-namestring converts a non-wild pathname designator to the equivalent native namestring, if possible.  Some Lisp pathname concepts (such as the :back directory component) have no direct equivalents in most Operating Systems; the behaviour of native-namestring is unspecified if an inappropriate pathname designator is passed to it.

     [file fun-sb-ext-parse-native-namestring.texinfo not included]
     [file fun-sb-ext-native-pathname.texinfo not included]
     [file fun-sb-ext-native-namestring.texinfo not included]