617 lines
16 KiB
HTML
617 lines
16 KiB
HTML
|
<!DOCTYPE HTML>
|
||
|
<HTML LANG="en-us"
|
||
|
><HEAD
|
||
|
><TITLE
|
||
|
>19.3 Logical Pathnames | Common Lisp Nova Spec</TITLE
|
||
|
><META CHARSET="US-ASCII"
|
||
|
><LINK REL="canonical" HREF="19_3_Logical_Pathnames.html"
|
||
|
><LINK REL="next" HREF="19_4_Filenames_Dictionary.html" TYPE="text/html" TITLE="19.4 Filenames Dictionary"
|
||
|
><LINK REL="prev" HREF="19_2_Pathnames.html" TYPE="text/html" TITLE="19.2 Pathnames"
|
||
|
><LINK REL="up" HREF="19_Filenames.html" TYPE="text/html" TITLE="19. Filenames"
|
||
|
><LINK REL="start" HREF="index.html" TYPE="text/html" TITLE="Common Lisp Nova Spec"
|
||
|
><META NAME="VIEWPORT" CONTENT="width=device-width, initial-scale=1.0"
|
||
|
><LINK REL="STYLESHEET" HREF="dpans.css%3F3909942064.css"
|
||
|
><SCRIPT SRC="dpans.js%3F3909942064"
|
||
|
></SCRIPT
|
||
|
><SCRIPT SRC="apropos.js%3F3909942064"
|
||
|
></SCRIPT
|
||
|
></HEAD
|
||
|
><BODY
|
||
|
><DIV
|
||
|
><DIV CLASS="topnav"
|
||
|
><DIV CLASS="breadcrumb"
|
||
|
><SPAN CLASS="breadcrumb-item"
|
||
|
><A HREF="index.html"
|
||
|
>Common Lisp Nova Spec</A
|
||
|
></SPAN
|
||
|
> <SPAN CLASS="breadcrumb-item"
|
||
|
>→ <A HREF="19_Filenames.html"
|
||
|
>19. Filenames</A
|
||
|
></SPAN
|
||
|
> <SPAN CLASS="breadcrumb-item"
|
||
|
>→ <A HREF="19_3_Logical_Pathnames.html"
|
||
|
>19.3 Logical Pathnames</A
|
||
|
></SPAN
|
||
|
></DIV
|
||
|
><DIV CLASS="apropos"
|
||
|
><DIV CLASS="apropos-io"
|
||
|
><A HREF="19_2_Pathnames.html" CLASS="prev"
|
||
|
>←</A
|
||
|
><SPAN ID="apropos-label"
|
||
|
>Apropos </SPAN
|
||
|
><INPUT ID="apropos" AUTOFOCUS="AUTOFOCUS" PLACEHOLDER="Type here to search" ONINPUT="aproposInput(this);" ONKEYUP="aproposKeyup(event);" ONCHANGE="aproposChange(this);" ONFOCUS="aproposFocus(this);" ONFOCUSOUT="aproposFocusout(this);"
|
||
|
><A HREF="19_4_Filenames_Dictionary.html" CLASS="next"
|
||
|
>→</A
|
||
|
></DIV
|
||
|
><DIV ID="apropos-res"
|
||
|
></DIV
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><DIV CLASS="matter"
|
||
|
><SECTION
|
||
|
><H2 ID="sec_19_3" CLASS="HeadII"
|
||
|
>19.3 Logical Pathnames</H2
|
||
|
><UL CLASS="subtoc"
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1"
|
||
|
>19.3.1 Syntax of Logical Pathname Namestrings</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1"
|
||
|
>19.3.1.1 Additional Information about Parsing Logical Pathname Namestrings</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1_1"
|
||
|
>19.3.1.1.1 The Host part of a Logical Pathname Namestring</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1_2"
|
||
|
>19.3.1.1.2 The Device part of a Logical Pathname Namestring</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1_3"
|
||
|
>19.3.1.1.3 The Directory part of a Logical Pathname Namestring</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1_4"
|
||
|
>19.3.1.1.4 The Type part of a Logical Pathname Namestring</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1_5"
|
||
|
>19.3.1.1.5 The Version part of a Logical Pathname Namestring</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1_6"
|
||
|
>19.3.1.1.6 Wildcard Words in a Logical Pathname Namestring</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1_7"
|
||
|
>19.3.1.1.7 Lowercase Letters in a Logical Pathname Namestring</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_1_1_8"
|
||
|
>19.3.1.1.8 Other Syntax in a Logical Pathname Namestring</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_2"
|
||
|
>19.3.2 Logical Pathname Components</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_2_1"
|
||
|
>19.3.2.1 Unspecific Components of a Logical Pathname</A
|
||
|
></LI
|
||
|
><LI
|
||
|
><A HREF="19_3_Logical_Pathnames.html#sec_19_3_2_2"
|
||
|
>19.3.2.2 Null Strings as Components of a Logical Pathname</A
|
||
|
></LI
|
||
|
></UL
|
||
|
><H3 ID="sec_19_3_1" CLASS="HeadIII"
|
||
|
>19.3.1 Syntax of Logical Pathname Namestrings</H3
|
||
|
><P CLASS="j"
|
||
|
>The syntax of a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> <A HREF="26_1_Glossary.html#namestring"
|
||
|
><EM CLASS="term"
|
||
|
>namestring</EM
|
||
|
></A
|
||
|
> is as follows. (Note that unlike many notational descriptions in this document, this is a syntactic description of character sequences, not a structural description of <A HREF="26_1_Glossary.html#object"
|
||
|
><EM CLASS="term"
|
||
|
>objects</EM
|
||
|
></A
|
||
|
>.)</P
|
||
|
><TABLE CELLSPACING="0" CELLPADDING="0" RULES="GROUPS" STYLE="margin: 1ex 0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE=";padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;padding-right:3px"
|
||
|
><VAR CLASS="param"
|
||
|
>logical-pathname</VAR
|
||
|
><SPAN CLASS="cmssi"
|
||
|
>::</SPAN
|
||
|
>=</TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;"
|
||
|
> [↓<VAR CLASS="param"
|
||
|
>host</VAR
|
||
|
> <VAR CLASS="param"
|
||
|
>host-marker</VAR
|
||
|
>]</TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE=";padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;"
|
||
|
> [↓<VAR CLASS="param"
|
||
|
><VAR CLASS="param"
|
||
|
>relative-directory-marker</VAR
|
||
|
></VAR
|
||
|
>] {↓<VAR CLASS="param"
|
||
|
>directory</VAR
|
||
|
> <VAR CLASS="param"
|
||
|
>directory-marker</VAR
|
||
|
>}*</TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE=";padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;"
|
||
|
> [↓<VAR CLASS="param"
|
||
|
>name</VAR
|
||
|
>] [<VAR CLASS="param"
|
||
|
>type-marker</VAR
|
||
|
> ↓<VAR CLASS="param"
|
||
|
>type</VAR
|
||
|
> [<VAR CLASS="param"
|
||
|
>version-marker</VAR
|
||
|
> ↓<VAR CLASS="param"
|
||
|
>version</VAR
|
||
|
>]]</TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><TABLE CELLSPACING="0" CELLPADDING="0" RULES="GROUPS" STYLE="margin: 1ex 0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE=";padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;padding-right:3px"
|
||
|
><VAR CLASS="param"
|
||
|
>host</VAR
|
||
|
><SPAN CLASS="cmssi"
|
||
|
>::</SPAN
|
||
|
>=</TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;"
|
||
|
> ↓<VAR CLASS="param"
|
||
|
>word</VAR
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><TABLE CELLSPACING="0" CELLPADDING="0" RULES="GROUPS" STYLE="margin: 1ex 0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE=";padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;padding-right:3px"
|
||
|
><VAR CLASS="param"
|
||
|
>directory</VAR
|
||
|
><SPAN CLASS="cmssi"
|
||
|
>::</SPAN
|
||
|
>=</TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;"
|
||
|
> ↓<VAR CLASS="param"
|
||
|
>word</VAR
|
||
|
> | ↓<VAR CLASS="param"
|
||
|
>wildcard-word</VAR
|
||
|
> | ↓<VAR CLASS="param"
|
||
|
>wild-inferiors-word</VAR
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><TABLE CELLSPACING="0" CELLPADDING="0" RULES="GROUPS" STYLE="margin: 1ex 0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE=";padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;padding-right:3px"
|
||
|
><VAR CLASS="param"
|
||
|
>name</VAR
|
||
|
><SPAN CLASS="cmssi"
|
||
|
>::</SPAN
|
||
|
>=</TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;"
|
||
|
> ↓<VAR CLASS="param"
|
||
|
>word</VAR
|
||
|
> | ↓<VAR CLASS="param"
|
||
|
>wildcard-word</VAR
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><TABLE CELLSPACING="0" CELLPADDING="0" RULES="GROUPS" STYLE="margin: 1ex 0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE=";padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;padding-right:3px"
|
||
|
><VAR CLASS="param"
|
||
|
>type</VAR
|
||
|
><SPAN CLASS="cmssi"
|
||
|
>::</SPAN
|
||
|
>=</TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;"
|
||
|
> ↓<VAR CLASS="param"
|
||
|
>word</VAR
|
||
|
> | ↓<VAR CLASS="param"
|
||
|
>wildcard-word</VAR
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><TABLE CELLSPACING="0" CELLPADDING="0" RULES="GROUPS" STYLE="margin: 1ex 0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE=";padding-right:3px"
|
||
|
></TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;padding-right:3px"
|
||
|
><VAR CLASS="param"
|
||
|
>version</VAR
|
||
|
><SPAN CLASS="cmssi"
|
||
|
>::</SPAN
|
||
|
>=</TD
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" STYLE="padding-left:3px;"
|
||
|
> ↓<VAR CLASS="param"
|
||
|
>pos-int</VAR
|
||
|
> | <VAR CLASS="param"
|
||
|
>newest-word</VAR
|
||
|
> | <VAR CLASS="param"
|
||
|
>wildcard-version</VAR
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>host-marker</VAR
|
||
|
> — a <A HREF="26_1_Glossary.html#colon"
|
||
|
><EM CLASS="term"
|
||
|
>colon</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>relative-directory-marker</VAR
|
||
|
> — a <A HREF="26_1_Glossary.html#semicolon"
|
||
|
><EM CLASS="term"
|
||
|
>semicolon</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>directory-marker</VAR
|
||
|
> — a <A HREF="26_1_Glossary.html#semicolon"
|
||
|
><EM CLASS="term"
|
||
|
>semicolon</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>type-marker</VAR
|
||
|
> — a <A HREF="26_1_Glossary.html#dot"
|
||
|
><EM CLASS="term"
|
||
|
>dot</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>version-marker</VAR
|
||
|
> — a <A HREF="26_1_Glossary.html#dot"
|
||
|
><EM CLASS="term"
|
||
|
>dot</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>wild-inferiors-word</VAR
|
||
|
> — The two character sequence “<CODE CLASS="f"
|
||
|
>**</CODE
|
||
|
>” (two <A HREF="26_1_Glossary.html#asterisk"
|
||
|
><EM CLASS="term"
|
||
|
>asterisks</EM
|
||
|
></A
|
||
|
>). </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>newest-word</VAR
|
||
|
> — The six character sequence “<CODE CLASS="f"
|
||
|
>newest</CODE
|
||
|
>” or the six character sequence “<CODE CLASS="f"
|
||
|
>NEWEST</CODE
|
||
|
>”. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>wildcard-version</VAR
|
||
|
> — an <A HREF="26_1_Glossary.html#asterisk"
|
||
|
><EM CLASS="term"
|
||
|
>asterisk</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>wildcard-word</VAR
|
||
|
> — one or more <A HREF="26_1_Glossary.html#asterisk"
|
||
|
><EM CLASS="term"
|
||
|
>asterisks</EM
|
||
|
></A
|
||
|
>, uppercase letters, digits, and hyphens, including at least one <A HREF="26_1_Glossary.html#asterisk"
|
||
|
><EM CLASS="term"
|
||
|
>asterisk</EM
|
||
|
></A
|
||
|
>, with no two <A HREF="26_1_Glossary.html#asterisk"
|
||
|
><EM CLASS="term"
|
||
|
>asterisks</EM
|
||
|
></A
|
||
|
> adjacent. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>word</VAR
|
||
|
> — one or more uppercase letters, digits, and hyphens. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>pos-int</VAR
|
||
|
> — a positive <A HREF="26_1_Glossary.html#integer"
|
||
|
><EM CLASS="term"
|
||
|
>integer</EM
|
||
|
></A
|
||
|
>.</P
|
||
|
><H4 ID="sec_19_3_1_1" CLASS="HeadIV"
|
||
|
>19.3.1.1 Additional Information about Parsing Logical Pathname Namestrings</H4
|
||
|
><H5 ID="sec_19_3_1_1_1" CLASS="HeadV"
|
||
|
>19.3.1.1.1 The Host part of a Logical Pathname Namestring</H5
|
||
|
><P CLASS="j"
|
||
|
>The <VAR CLASS="param"
|
||
|
>host</VAR
|
||
|
> must have been defined as a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> host; this can be done by using <A HREF="f_setf.html" CLASS="macref"
|
||
|
><B
|
||
|
>setf</B
|
||
|
></A
|
||
|
> of <A HREF="f_logical-pathname-translations.html" CLASS="funref"
|
||
|
><B
|
||
|
>logical-pathname-translations</B
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
>The <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> host name <CODE CLASS="f"
|
||
|
>"SYS"</CODE
|
||
|
> is reserved for the implementation. The existence and meaning of <CODE CLASS="f"
|
||
|
>SYS:</CODE
|
||
|
> <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathnames</EM
|
||
|
></A
|
||
|
> is <A HREF="26_1_Glossary.html#implementation-defined"
|
||
|
><EM CLASS="term"
|
||
|
>implementation-defined</EM
|
||
|
></A
|
||
|
>.</P
|
||
|
><H5 ID="sec_19_3_1_1_2" CLASS="HeadV"
|
||
|
>19.3.1.1.2 The Device part of a Logical Pathname Namestring</H5
|
||
|
><P CLASS="j"
|
||
|
>There is no syntax for a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> device since the device component of a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> is always <SPAN CLASS="kwd"
|
||
|
><SPAN CLASS="cmtt"
|
||
|
>:unspecific</SPAN
|
||
|
></SPAN
|
||
|
>; see <A HREF="19_3_Logical_Pathnames.html#sec_19_3_2_1" CLASS="secref"
|
||
|
><SPAN CLASS="cmr"
|
||
|
>Section</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>19.3.2.1</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>(Unspecific</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>Components</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>of</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>a</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>Logical</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>Pathname)</SPAN
|
||
|
></A
|
||
|
>.</P
|
||
|
><H5 ID="sec_19_3_1_1_3" CLASS="HeadV"
|
||
|
>19.3.1.1.3 The Directory part of a Logical Pathname Namestring</H5
|
||
|
><P CLASS="j"
|
||
|
>If a <VAR CLASS="param"
|
||
|
>relative-directory-marker</VAR
|
||
|
> precedes the <VAR CLASS="param"
|
||
|
>directories</VAR
|
||
|
>, the directory component parsed is as <A HREF="26_1_Glossary.html#relative"
|
||
|
><EM CLASS="term"
|
||
|
>relative</EM
|
||
|
></A
|
||
|
>; otherwise, the directory component is parsed as <A HREF="26_1_Glossary.html#absolute"
|
||
|
><EM CLASS="term"
|
||
|
>absolute</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
>If a <VAR CLASS="param"
|
||
|
>wild-inferiors-marker</VAR
|
||
|
> is specified, it parses into <SPAN CLASS="kwd"
|
||
|
><SPAN CLASS="cmtt"
|
||
|
>:wild-inferiors</SPAN
|
||
|
></SPAN
|
||
|
>.</P
|
||
|
><H5 ID="sec_19_3_1_1_4" CLASS="HeadV"
|
||
|
>19.3.1.1.4 The Type part of a Logical Pathname Namestring</H5
|
||
|
><P CLASS="j"
|
||
|
>The <VAR CLASS="param"
|
||
|
>type</VAR
|
||
|
> of a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> for a <A HREF="26_1_Glossary.html#source_file"
|
||
|
><EM CLASS="term"
|
||
|
>source file</EM
|
||
|
></A
|
||
|
> is <CODE CLASS="f"
|
||
|
>"LISP"</CODE
|
||
|
>. This should be translated into whatever type is appropriate in a physical pathname.</P
|
||
|
><H5 ID="sec_19_3_1_1_5" CLASS="HeadV"
|
||
|
>19.3.1.1.5 The Version part of a Logical Pathname Namestring</H5
|
||
|
><P CLASS="j"
|
||
|
>Some <A HREF="26_1_Glossary.html#file_system"
|
||
|
><EM CLASS="term"
|
||
|
>file systems</EM
|
||
|
></A
|
||
|
> do not have <VAR CLASS="param"
|
||
|
>versions</VAR
|
||
|
>. <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>Logical pathname</EM
|
||
|
></A
|
||
|
> translation to such a <A HREF="26_1_Glossary.html#file_system"
|
||
|
><EM CLASS="term"
|
||
|
>file system</EM
|
||
|
></A
|
||
|
> ignores the <VAR CLASS="param"
|
||
|
>version</VAR
|
||
|
>. This implies that a program cannot rely on being able to store more than one version of a file named by a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
>If a <VAR CLASS="param"
|
||
|
>wildcard-version</VAR
|
||
|
> is specified, it parses into <SPAN CLASS="kwd"
|
||
|
><SPAN CLASS="cmtt"
|
||
|
>:wild</SPAN
|
||
|
></SPAN
|
||
|
>.</P
|
||
|
><H5 ID="sec_19_3_1_1_6" CLASS="HeadV"
|
||
|
>19.3.1.1.6 Wildcard Words in a Logical Pathname Namestring</H5
|
||
|
><P CLASS="j"
|
||
|
>Each <A HREF="26_1_Glossary.html#asterisk"
|
||
|
><EM CLASS="term"
|
||
|
>asterisk</EM
|
||
|
></A
|
||
|
> in a <VAR CLASS="param"
|
||
|
>wildcard-word</VAR
|
||
|
> matches a sequence of zero or more characters. The <VAR CLASS="param"
|
||
|
>wildcard-word</VAR
|
||
|
> “<CODE CLASS="f"
|
||
|
>*</CODE
|
||
|
>” parses into <SPAN CLASS="kwd"
|
||
|
><SPAN CLASS="cmtt"
|
||
|
>:wild</SPAN
|
||
|
></SPAN
|
||
|
>; other <EM CLASS="term"
|
||
|
>wildcard-words</EM
|
||
|
> parse into <A HREF="26_1_Glossary.html#string"
|
||
|
><EM CLASS="term"
|
||
|
>strings</EM
|
||
|
></A
|
||
|
>.</P
|
||
|
><H5 ID="sec_19_3_1_1_7" CLASS="HeadV"
|
||
|
>19.3.1.1.7 Lowercase Letters in a Logical Pathname Namestring</H5
|
||
|
><P CLASS="j"
|
||
|
>When parsing <VAR CLASS="param"
|
||
|
>words</VAR
|
||
|
> and <VAR CLASS="param"
|
||
|
>wildcard-words</VAR
|
||
|
>, lowercase letters are translated to uppercase.</P
|
||
|
><H5 ID="sec_19_3_1_1_8" CLASS="HeadV"
|
||
|
>19.3.1.1.8 Other Syntax in a Logical Pathname Namestring</H5
|
||
|
><P CLASS="j"
|
||
|
>The consequences of using characters other than those specified here in a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> <A HREF="26_1_Glossary.html#namestring"
|
||
|
><EM CLASS="term"
|
||
|
>namestring</EM
|
||
|
></A
|
||
|
> are unspecified. </P
|
||
|
><P CLASS="j"
|
||
|
>The consequences of using any value not specified here as a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> component are unspecified.</P
|
||
|
><H3 ID="sec_19_3_2" CLASS="HeadIII"
|
||
|
>19.3.2 Logical Pathname Components</H3
|
||
|
><H4 ID="sec_19_3_2_1" CLASS="HeadIV"
|
||
|
>19.3.2.1 Unspecific Components of a Logical Pathname</H4
|
||
|
><P CLASS="j"
|
||
|
>The device component of a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> is always <SPAN CLASS="kwd"
|
||
|
><SPAN CLASS="cmtt"
|
||
|
>:unspecific</SPAN
|
||
|
></SPAN
|
||
|
>; no other component of a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
> can be <SPAN CLASS="kwd"
|
||
|
><SPAN CLASS="cmtt"
|
||
|
>:unspecific</SPAN
|
||
|
></SPAN
|
||
|
>.</P
|
||
|
><H4 ID="sec_19_3_2_2" CLASS="HeadIV"
|
||
|
>19.3.2.2 Null Strings as Components of a Logical Pathname</H4
|
||
|
><P CLASS="j"
|
||
|
>The null string, <CODE CLASS="f"
|
||
|
>""</CODE
|
||
|
>, is not a valid value for any component of a <A HREF="26_1_Glossary.html#logical_pathname"
|
||
|
><EM CLASS="term"
|
||
|
>logical pathname</EM
|
||
|
></A
|
||
|
>.</P
|
||
|
></SECTION
|
||
|
></DIV
|
||
|
><DIV CLASS="footer"
|
||
|
><DIV CLASS="btmnav"
|
||
|
><A HREF="19_2_Pathnames.html" CLASS="prev"
|
||
|
>←</A
|
||
|
><A HREF="19_4_Filenames_Dictionary.html" CLASS="next"
|
||
|
>→</A
|
||
|
></DIV
|
||
|
><DIV CLASS="trail"
|
||
|
>Conversion to HTML copyright 2023 by Gilbert Baumann</DIV
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><SCRIPT
|
||
|
>domReady();</SCRIPT
|
||
|
></BODY
|
||
|
></HTML
|
||
|
>
|