59 lines
7.5 KiB
HTML
59 lines
7.5 KiB
HTML
<!-- Common Lisp HyperSpec (TM), version 7.0 generated by Kent M. Pitman on Mon, 11-Apr-2005 2:31am EDT -->
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>CLHS: Function TRANSLATE-LOGICAL-PATHNAME</TITLE>
|
|
<LINK HREF="../Data/clhs.css" REL="stylesheet" TYPE="text/css" />
|
|
<META HTTP-EQUIV="Author" CONTENT="Kent M. Pitman">
|
|
<META HTTP-EQUIV="Organization" CONTENT="LispWorks Ltd.">
|
|
<LINK REL=TOP HREF="../Front/index.htm">
|
|
<LINK REL=COPYRIGHT HREF="../Front/Help.htm#Legal">
|
|
<LINK REL=DISCLAIMER HREF="../Front/Help.htm#Disclaimer">
|
|
<LINK REL=PREV HREF="f_pn_mat.htm">
|
|
<LINK REL=UP HREF="c_filena.htm">
|
|
<LINK REL=NEXT HREF="f_tr_pn.htm">
|
|
</HEAD>
|
|
<BODY>
|
|
<H1><A REV=MADE HREF="http://www.lispworks.com/"><IMG WIDTH=80 HEIGHT=65 ALT="[LISPWORKS]" SRC="../Graphics/LWSmall.gif" ALIGN=Bottom></A><A REL=TOP HREF="../Front/index.htm"><IMG WIDTH=237 HEIGHT=65 ALT="[Common Lisp HyperSpec (TM)]" SRC="../Graphics/CLHS_Sm.gif" ALIGN=Bottom></A> <A REL=PREV HREF="f_pn_mat.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Previous]" SRC="../Graphics/Prev.gif" ALIGN=Bottom></A><A REL=UP HREF="c_filena.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Up]" SRC="../Graphics/Up.gif" ALIGN=Bottom></A><A REL=NEXT HREF="f_tr_pn.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Next]" SRC="../Graphics/Next.gif" ALIGN=Bottom></A></H1>
|
|
|
|
<HR>
|
|
|
|
<A NAME="translate-logical-pathname"><I>Function</I> <B>TRANSLATE-LOGICAL-PATHNAME</B></A> <P>
|
|
<P>
|
|
<P><B>Syntax:</B><P>
|
|
<P>
|
|
|
|
<B>translate-logical-pathname</B> <I>pathname <TT>&key</TT></I> => <I>physical-pathname</I><P>
|
|
<P>
|
|
<P><B>Arguments and Values:</B><P>
|
|
<P>
|
|
<I>pathname</I>---a <A REL=DEFINITION HREF="26_glo_p.htm#pathname_designator"><I>pathname designator</I></A>, or a <A REL=DEFINITION HREF="26_glo_l.htm#logical_pathname"><I>logical pathname</I></A> <A REL=DEFINITION HREF="26_glo_n.htm#namestring"><I>namestring</I></A>. <P>
|
|
<I>physical-pathname</I>---a <A REL=DEFINITION HREF="26_glo_p.htm#physical_pathname"><I>physical pathname</I></A>. <P>
|
|
<P><B>Description:</B><P>
|
|
<P>
|
|
Translates <I>pathname</I> to a <A REL=DEFINITION HREF="26_glo_p.htm#physical_pathname"><I>physical pathname</I></A>, which it returns. <P>
|
|
If <I>pathname</I> is a <A REL=DEFINITION HREF="26_glo_s.htm#stream"><I>stream</I></A>, the <A REL=DEFINITION HREF="26_glo_s.htm#stream"><I>stream</I></A> can be either open or closed. <A REL=DEFINITION HREF="#translate-logical-pathname"><B>translate-logical-pathname</B></A> returns the same physical pathname after a file is closed as it did when the file was open. It is an error if <I>pathname</I> is a <A REL=DEFINITION HREF="26_glo_s.htm#stream"><I>stream</I></A> that is created with <A REL=DEFINITION HREF="f_mk_two.htm#make-two-way-stream"><B>make-two-way-stream</B></A>, <A REL=DEFINITION HREF="f_mk_ech.htm#make-echo-stream"><B>make-echo-stream</B></A>, <A REL=DEFINITION HREF="f_mk_bro.htm#make-broadcast-stream"><B>make-broadcast-stream</B></A>, <A REL=DEFINITION HREF="f_mk_con.htm#make-concatenated-stream"><B>make-concatenated-stream</B></A>, <A REL=DEFINITION HREF="f_mk_s_1.htm#make-string-input-stream"><B>make-string-input-stream</B></A>, <A REL=DEFINITION HREF="f_mk_s_2.htm#make-string-output-stream"><B>make-string-output-stream</B></A>. <P>
|
|
If <I>pathname</I> is a <A REL=DEFINITION HREF="26_glo_l.htm#logical_pathname"><I>logical pathname</I></A> namestring, the host portion of the <A REL=DEFINITION HREF="26_glo_l.htm#logical_pathname"><I>logical pathname</I></A> namestring and its following <A REL=DEFINITION HREF="26_glo_c.htm#colon"><I>colon</I></A> are required. <P>
|
|
<I>Pathname</I> is first coerced to a <A REL=DEFINITION HREF="26_glo_p.htm#pathname"><I>pathname</I></A>. If the coerced <I>pathname</I> is a physical pathname, it is returned. If the coerced <I>pathname</I> is a <A REL=DEFINITION HREF="26_glo_l.htm#logical_pathname"><I>logical pathname</I></A>, the first matching translation (according to <A REL=DEFINITION HREF="f_pn_mat.htm#pathname-match-p"><B>pathname-match-p</B></A>) of the <A REL=DEFINITION HREF="26_glo_l.htm#logical_pathname"><I>logical pathname</I></A> host is applied, as if by calling <A REL=DEFINITION HREF="f_tr_pn.htm#translate-pathname"><B>translate-pathname</B></A>. If the result is a <A REL=DEFINITION HREF="26_glo_l.htm#logical_pathname"><I>logical pathname</I></A>, this process is repeated. When the result is finally a physical pathname, it is returned. If no translation matches, an error is signaled. <P>
|
|
<A REL=DEFINITION HREF="#translate-logical-pathname"><B>translate-logical-pathname</B></A> might perform additional translations, typically to provide translation of file types to local naming conventions, to accomodate physical file systems with limited length names, or to deal with special character requirements such as translating hyphens to underscores or uppercase letters to lowercase. Any such additional translations are <A REL=DEFINITION HREF="26_glo_i.htm#implementation-defined"><I>implementation-defined</I></A>. Some implementations do no additional translations. <P>
|
|
There are no specified keyword arguments for <A REL=DEFINITION HREF="#translate-logical-pathname"><B>translate-logical-pathname</B></A>, but implementations are permitted to extend it by adding keyword arguments. <P>
|
|
<P><B>Examples:</B><P>
|
|
<P>
|
|
See <A REL=DEFINITION HREF="f_logica.htm#logical-pathname-translations"><B>logical-pathname-translations</B></A>. <P>
|
|
<P><B>Affected By:</B> None.
|
|
<P><B>Exceptional Situations:</B><P>
|
|
<P>
|
|
If <I>pathname</I> is incorrectly supplied, an error of <A REL=DEFINITION HREF="26_glo_t.htm#type"><I>type</I></A> <A REL=DEFINITION HREF="e_tp_err.htm#type-error"><B>type-error</B></A> is signaled. <P>
|
|
If no translation matches, an error of <A REL=DEFINITION HREF="26_glo_t.htm#type"><I>type</I></A> <A REL=DEFINITION HREF="e_file_e.htm#file-error"><B>file-error</B></A> is signaled. <P>
|
|
<P><B>See Also:</B><P>
|
|
<P>
|
|
<A REL=DEFINITION HREF="f_logi_1.htm#logical-pathname"><B>logical-pathname</B></A>, <A REL=DEFINITION HREF="f_logica.htm#logical-pathname-translations"><B>logical-pathname-translations</B></A>, <A REL=DEFINITION HREF="t_logica.htm#logical-pathname"><B>logical-pathname</B></A>, <A REL=CHILD HREF="20_a.htm">Section 20.1 (File System Concepts)</A>, <A REL=CHILD HREF="19_ab.htm">Section 19.1.2 (Pathnames as Filenames)</A> <P>
|
|
<P><B>Notes:</B> None.
|
|
<P>
|
|
<P>
|
|
<P><HR>The following <A REL=META HREF="../Front/X3J13Iss.htm">X3J13 cleanup issues</A>, <I>not part of the specification</I>, apply to this section:<P><UL><LI> <A REL=CHILD HREF="../Issues/iss157.htm">FILE-OPEN-ERROR:SIGNAL-FILE-ERROR</A><LI> <A REL=CHILD HREF="../Issues/iss261.htm">PATHNAME-STREAM</A><LI> <A REL=CHILD HREF="../Issues/iss053.htm">CLOSED-STREAM-OPERATIONS:ALLOW-INQUIRY</A><LI> <A REL=CHILD HREF="../Issues/iss259.htm">PATHNAME-LOGICAL:ADD</A><P></UL><HR>
|
|
|
|
<A REL=NAVIGATOR HREF="../Front/StartPts.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Starting Points]" SRC="../Graphics/StartPts.gif" ALIGN=Bottom></A><A REL=TOC HREF="../Front/Contents.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Contents]" SRC="../Graphics/Contents.gif" ALIGN=Bottom></A><A REL=INDEX HREF="../Front/X_Master.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Index]" SRC="../Graphics/Index.gif" ALIGN=Bottom></A><A REL=INDEX HREF="../Front/X_Symbol.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Symbols]" SRC="../Graphics/Symbols.gif" ALIGN=Bottom></A><A REL=GLOSSARY HREF="../Body/26_a.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Glossary]" SRC="../Graphics/Glossary.gif" ALIGN=Bottom></A><A HREF="../Front/X3J13Iss.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Issues]" SRC="../Graphics/Issues.gif" ALIGN=Bottom></A><BR>
|
|
|
|
<A REL=COPYRIGHT HREF="../Front/Help.htm#Legal"><I>Copyright 1996-2005, LispWorks Ltd. All rights reserved.</I></A><P>
|
|
</BODY>
|
|
</HTML>
|