1
0
Fork 0
cl-sites/lisp-docs.github.io/cl-language-reference/chap-19/bj-d-logical-pathnames.html

83 lines
No EOL
41 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-chap-19/bj-d-logical-pathnames" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.1">
<title data-rh="true">19.3 Logical Pathnames | Common Lisp (New) Language Reference</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://lisp-docs.github.io/cl-language-reference/img/1024px-Lisp_logo.svg.png"><meta data-rh="true" name="twitter:image" content="https://lisp-docs.github.io/cl-language-reference/img/1024px-Lisp_logo.svg.png"><meta data-rh="true" property="og:url" content="https://lisp-docs.github.io/cl-language-reference/chap-19/bj-d-logical-pathnames"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="google-site-verification" content="Vzaw013_bfdKeUVG89Ch3W1zC9_vH9ID2dPB9Dz0vr0"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="19.3 Logical Pathnames | Common Lisp (New) Language Reference"><meta data-rh="true" name="description" content="19.3.1 Syntax of Logical Pathname Namestrings"><meta data-rh="true" property="og:description" content="19.3.1 Syntax of Logical Pathname Namestrings"><link data-rh="true" rel="icon" href="../img/favicon.ico"><link data-rh="true" rel="canonical" href="bj-d-logical-pathnames.html"><link data-rh="true" rel="alternate" href="bj-d-logical-pathnames.html" hreflang="en"><link data-rh="true" rel="alternate" href="bj-d-logical-pathnames.html" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://C1F2Q5VM6X-dsn.algolia.net" crossorigin="anonymous"><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8TJCE4NSF8"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8TJCE4NSF8",{})</script>
<link rel="search" type="application/opensearchdescription+xml" title="Common Lisp (New) Language Reference" href="../opensearch.xml"><link rel="stylesheet" href="../assets/css/styles.f13b59fe.css">
<script src="../assets/js/runtime~main.02699c25.js" defer="defer"></script>
<script src="../assets/js/main.4f0a7a76.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="bj-d-logical-pathnames.html#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a href="../../index.html" target="_blank" rel="noopener noreferrer" class="navbar__brand"><div class="navbar__logo"><img src="../img/logo.svg" alt="Lisp Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="../img/logo.svg" alt="Lisp Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Common Lisp Docs</b></a><a href="../../docs/tutorial/index.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Tutorial</a><a href="../index.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Technical Reference</a><a href="../../docs/whylisp.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Why Lisp?</a><a href="../../docs/howto.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Guides</a></div><div class="navbar__items navbar__items--right"><a href="../../docs/contribute.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Contribute!</a><a href="../../docs/help.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Getting Help</a><a href="../../docs/about.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">About</a><a href="../../blog.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Blog</a><a href="https://github.com/lisp-docs" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="../index.html">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-0/intro.html">Contents and Figures</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-1/b-b-scope-purpose-and-history.html">1. Introduction</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-2/c-b-character-syntax.html">2. Syntax</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-3/d-b-evaluation.html">3. Evaluation and Compilation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-4/e-b-introduction.html">4. Types and Classes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-5/f-b-generalized-reference.html">5. Data and Control Flow</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-6/g-b-the-loop-facility.html">6. Iteration</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-7/h-b-object-creation-and-initialization.html">7. Objects</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../category/81-structures-dictionary.html">8. Structures</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-9/j-b-condition-system-concepts.html">9. Conditions</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-10/ba-b-symbol-concepts.html">10. Symbols</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-11/bb-b-package-concepts.html">11. Packages</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-12/bc-b-number-concepts.html">12. Numbers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-13/bd-b-character-concepts.html">13. Characters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-14/be-b-cons-concepts.html">14. Conses</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-15/bf-b-array-concepts.html">15. Arrays</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-16/bg-b-string-concepts.html">16. Strings</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-17/bh-b-sequence-concepts.html">17. Sequences</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-18/bi-b-hash-table-concepts.html">18. Hash Tables</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="bj-b-overview-of-filenames.html">19. Filenames</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="bj-b-overview-of-filenames.html">19.1 Overview of Filenames</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="bj-c-pathnames.html">19.2 Pathnames</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="bj-d-logical-pathnames.html">19.3 Logical Pathnames</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="../category/194-filenames-dictionary.html">19.4 Filenames Dictionary</a><button aria-label="Expand sidebar category &#x27;19.4 Filenames Dictionary&#x27;" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-20/ca-b-file-system-concepts.html">20. Files</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-21/cb-b-stream-concepts.html">21. Streams</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-22/cc-b-the-lisp-printer.html">22. Printer</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-23/cd-b-reader-concepts.html">23. Reader</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-24/ce-b-system-construction-concepts.html">24. System Construction</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-25/cf-b-the-external-environment.html">25. External Environment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../environments.html">26. Environments</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../meta-object-protocol.html">27. Meta Object Protocol</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../data-structures.html">28. Data Structures</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../portability/trivial-packages.html">29. Portability</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="../dictionary-entries.html">dictionary-entries</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-26/intro.html">Glossary</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="../index.html"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">19. Filenames</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">19.3 Logical Pathnames</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h1>19.3 Logical Pathnames</h1>
<!-- -->
<!-- -->
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="1931-syntax-of-logical-pathname-namestrings">19.3.1 Syntax of Logical Pathname Namestrings<a href="bj-d-logical-pathnames.html#1931-syntax-of-logical-pathname-namestrings" class="hash-link" aria-label="Direct link to 19.3.1 Syntax of Logical Pathname Namestrings" title="Direct link to 19.3.1 Syntax of Logical Pathname Namestrings"></a></h2>
<!-- -->
<p>The syntax of a <em>logical pathname namestring</em> 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 <span><i>objects</i></span>.)</p>
<p><em>logical-pathname::</em>=[<em>↓host host-marker</em>]</p>
<p>[<em>↓relative-directory-marker</em>] <em>{↓directory directory-marker}</em>*</p>
<p>[<span><i>↓name</i></span>] [<em>type-marker ↓type</em> [<em>version-marker ↓version</em>]]</p>
<p><em>host::</em>=<em>↓word</em></p>
<p><em>directory::</em>=<em>↓word | ↓wildcard-word | ↓wild-inferiors-word</em></p>
<p><span><i>name::</i></span>=<em>↓word | ↓wildcard-word</em></p>
<p><span><i>type::</i></span>=<em>↓word | ↓wildcard-word</em></p>
<p><em>version::</em>=<em>↓pos-int | newest-word | wildcard-version</em></p>
<p><em>host-marker</em>—a <span><i>colon</i></span>.</p>
<p><em>relative-directory-marker</em>—a <span><i>semicolon</i></span>.</p>
<p><em>directory-marker</em>—a <span><i>semicolon</i></span>.</p>
<p><em>type-marker</em>—a <span><i>dot</i></span>.</p>
<p><em>version-marker</em>—a <span><i>dot</i></span>.</p>
<p><em>wild-inferiors-word</em>—The two character sequence “**” (two <span><i>asterisks</i></span>).</p>
<p><em>newest-word</em>—The six character sequence “newest” or the six character sequence “NEWEST”. <em>wildcard-version</em>—an <span><i>asterisk</i></span>.</p>
<p><em>wildcard-word</em>—one or more <span><i>asterisks</i></span>, uppercase letters, digits, and hyphens, including at least one <span><i>asterisk</i></span>, with no two <span><i>asterisks</i></span> adjacent.</p>
<p><em>word</em>—one or more uppercase letters, digits, and hyphens.</p>
<p><em>pos-int</em>—a positive <em>integer</em> .</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="19311-additional-information-about-parsing-logical-pathname-namestrings">19.3.1.1 Additional Information about Parsing Logical Pathname Namestrings<a href="bj-d-logical-pathnames.html#19311-additional-information-about-parsing-logical-pathname-namestrings" class="hash-link" aria-label="Direct link to 19.3.1.1 Additional Information about Parsing Logical Pathname Namestrings" title="Direct link to 19.3.1.1 Additional Information about Parsing Logical Pathname Namestrings"></a></h3>
<!-- -->
<!-- -->
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="193111-the-host-part-of-a-logical-pathname-namestring">19.3.1.1.1 The Host part of a Logical Pathname Namestring<a href="bj-d-logical-pathnames.html#193111-the-host-part-of-a-logical-pathname-namestring" class="hash-link" aria-label="Direct link to 19.3.1.1.1 The Host part of a Logical Pathname Namestring" title="Direct link to 19.3.1.1.1 The Host part of a Logical Pathname Namestring"></a></h4>
<!-- -->
<p>The <em>host</em> must have been defined as a <span><i>logical pathname</i></span> host; this can be done by using <span><b>setf</b></span> of <span><b>logical-pathname-translations</b></span>.</p>
<p>The <span><i>logical pathname</i></span> host name &quot;SYS&quot; is reserved for the implementation. The existence and meaning of SYS: <span><i>logical pathnames</i></span> is <span><i>implementation-defined</i></span>.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="193112-the-device-part-of-a-logical-pathname-namestring">19.3.1.1.2 The Device part of a Logical Pathname Namestring<a href="bj-d-logical-pathnames.html#193112-the-device-part-of-a-logical-pathname-namestring" class="hash-link" aria-label="Direct link to 19.3.1.1.2 The Device part of a Logical Pathname Namestring" title="Direct link to 19.3.1.1.2 The Device part of a Logical Pathname Namestring"></a></h4>
<!-- -->
<p>There is no syntax for a <span><i>logical pathname</i></span> device since the device component of a <span><i>logical pathname</i></span> is always <!-- -->:unspecific<!-- -->; see Section 19.3.2.1 (Unspecific Components of a Logical Pathname).</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="193113-the-directory-part-of-a-logical-pathname-namestring">19.3.1.1.3 The Directory part of a Logical Pathname Namestring<a href="bj-d-logical-pathnames.html#193113-the-directory-part-of-a-logical-pathname-namestring" class="hash-link" aria-label="Direct link to 19.3.1.1.3 The Directory part of a Logical Pathname Namestring" title="Direct link to 19.3.1.1.3 The Directory part of a Logical Pathname Namestring"></a></h4>
<!-- -->
<p>If a <em>relative-directory-marker</em> precedes the <em>directories</em>, the directory component parsed is as <span><i>relative</i></span>; otherwise, the directory component is parsed as <span><i>absolute</i></span>.</p>
<p>If a <em>wild-inferiors-marker</em> is specified, it parses into <!-- -->:wild-inferiors<!-- -->.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="193114-the-type-part-of-a-logical-pathname-namestring">19.3.1.1.4 The Type part of a Logical Pathname Namestring<a href="bj-d-logical-pathnames.html#193114-the-type-part-of-a-logical-pathname-namestring" class="hash-link" aria-label="Direct link to 19.3.1.1.4 The Type part of a Logical Pathname Namestring" title="Direct link to 19.3.1.1.4 The Type part of a Logical Pathname Namestring"></a></h4>
<!-- -->
<p>The <span><i>type</i></span> of a <span><i>logical pathname</i></span> for a <span><i>source file</i></span> is &quot;LISP&quot;. This should be translated into whatever type is appropriate in a physical pathname.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="193115-the-version-part-of-a-logical-pathname-namestring">19.3.1.1.5 The Version part of a Logical Pathname Namestring<a href="bj-d-logical-pathnames.html#193115-the-version-part-of-a-logical-pathname-namestring" class="hash-link" aria-label="Direct link to 19.3.1.1.5 The Version part of a Logical Pathname Namestring" title="Direct link to 19.3.1.1.5 The Version part of a Logical Pathname Namestring"></a></h4>
<!-- -->
<p>Some <span><i>file systems</i></span> do not have <em>versions</em>. <span><i>Logical pathname</i></span> translation to such a <span><i>file system</i></span> ignores the <em>version</em>. This implies that a program cannot rely on being able to store more than one version of a file named by a <span><i>logical pathname</i></span>.</p>
<p>If a <em>wildcard-version</em> is specified, it parses into <!-- -->:wild<!-- -->.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="193116-wildcard-words-in-a-logical-pathname-namestring">19.3.1.1.6 Wildcard Words in a Logical Pathname Namestring<a href="bj-d-logical-pathnames.html#193116-wildcard-words-in-a-logical-pathname-namestring" class="hash-link" aria-label="Direct link to 19.3.1.1.6 Wildcard Words in a Logical Pathname Namestring" title="Direct link to 19.3.1.1.6 Wildcard Words in a Logical Pathname Namestring"></a></h4>
<!-- -->
<p>Each <span><i>asterisk</i></span> in a <em>wildcard-word</em> matches a sequence of zero or more characters. The <em>wildcard-word</em> “*” parses into <!-- -->:wild<!-- -->; other <em>wildcard-words</em> parse into <span><i>strings</i></span>.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="193117-lowercase-letters-in-a-logical-pathname-namestring">19.3.1.1.7 Lowercase Letters in a Logical Pathname Namestring<a href="bj-d-logical-pathnames.html#193117-lowercase-letters-in-a-logical-pathname-namestring" class="hash-link" aria-label="Direct link to 19.3.1.1.7 Lowercase Letters in a Logical Pathname Namestring" title="Direct link to 19.3.1.1.7 Lowercase Letters in a Logical Pathname Namestring"></a></h4>
<!-- -->
<p>When parsing <em>words</em> and <em>wildcard-words</em>, lowercase letters are translated to uppercase.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="193118-other-syntax-in-a-logical-pathname-namestring">19.3.1.1.8 Other Syntax in a Logical Pathname Namestring<a href="bj-d-logical-pathnames.html#193118-other-syntax-in-a-logical-pathname-namestring" class="hash-link" aria-label="Direct link to 19.3.1.1.8 Other Syntax in a Logical Pathname Namestring" title="Direct link to 19.3.1.1.8 Other Syntax in a Logical Pathname Namestring"></a></h4>
<!-- -->
<p>The consequences of using characters other than those specified here in a <em>logical pathname namestring</em> are unspecified.</p>
<p>The consequences of using any value not specified here as a <span><i>logical pathname</i></span> component are unspecified.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="1932-logical-pathname-components">19.3.2 Logical Pathname Components<a href="bj-d-logical-pathnames.html#1932-logical-pathname-components" class="hash-link" aria-label="Direct link to 19.3.2 Logical Pathname Components" title="Direct link to 19.3.2 Logical Pathname Components"></a></h2>
<!-- -->
<!-- -->
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="19321-unspecific-components-of-a-logical-pathname">19.3.2.1 Unspecific Components of a Logical Pathname<a href="bj-d-logical-pathnames.html#19321-unspecific-components-of-a-logical-pathname" class="hash-link" aria-label="Direct link to 19.3.2.1 Unspecific Components of a Logical Pathname" title="Direct link to 19.3.2.1 Unspecific Components of a Logical Pathname"></a></h3>
<!-- -->
<p>The device component of a <span><i>logical pathname</i></span> is always <!-- -->:unspecific<!-- -->; no other component of a <span><i>logical pathname</i></span> can be <!-- -->:unspecific<!-- -->.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="19322-null-strings-as-components-of-a-logical-pathname">19.3.2.2 Null Strings as Components of a Logical Pathname<a href="bj-d-logical-pathnames.html#19322-null-strings-as-components-of-a-logical-pathname" class="hash-link" aria-label="Direct link to 19.3.2.2 Null Strings as Components of a Logical Pathname" title="Direct link to 19.3.2.2 Null Strings as Components of a Logical Pathname"></a></h3>
<!-- -->
<!-- -->
<p>The null string, &quot;&quot;, is not a valid value for any component of a <span><i>logical pathname</i></span>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/lisp-docs/cl-language-reference/tree/main/docs/chap-19/bj-d-logical-pathnames.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"><span class="theme-last-updated">Last updated<!-- --> by <b>daninus14</b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="bj-c-pathnames.html"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">19.2 Pathnames</div></a><a class="pagination-nav__link pagination-nav__link--next" href="../category/194-filenames-dictionary.html"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">19.4 Filenames Dictionary</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="bj-d-logical-pathnames.html#1931-syntax-of-logical-pathname-namestrings" class="table-of-contents__link toc-highlight">19.3.1 Syntax of Logical Pathname Namestrings</a><ul><li><a href="bj-d-logical-pathnames.html#19311-additional-information-about-parsing-logical-pathname-namestrings" class="table-of-contents__link toc-highlight">19.3.1.1 Additional Information about Parsing Logical Pathname Namestrings</a><ul><li><a href="bj-d-logical-pathnames.html#193111-the-host-part-of-a-logical-pathname-namestring" class="table-of-contents__link toc-highlight">19.3.1.1.1 The Host part of a Logical Pathname Namestring</a></li><li><a href="bj-d-logical-pathnames.html#193112-the-device-part-of-a-logical-pathname-namestring" class="table-of-contents__link toc-highlight">19.3.1.1.2 The Device part of a Logical Pathname Namestring</a></li><li><a href="bj-d-logical-pathnames.html#193113-the-directory-part-of-a-logical-pathname-namestring" class="table-of-contents__link toc-highlight">19.3.1.1.3 The Directory part of a Logical Pathname Namestring</a></li><li><a href="bj-d-logical-pathnames.html#193114-the-type-part-of-a-logical-pathname-namestring" class="table-of-contents__link toc-highlight">19.3.1.1.4 The Type part of a Logical Pathname Namestring</a></li><li><a href="bj-d-logical-pathnames.html#193115-the-version-part-of-a-logical-pathname-namestring" class="table-of-contents__link toc-highlight">19.3.1.1.5 The Version part of a Logical Pathname Namestring</a></li><li><a href="bj-d-logical-pathnames.html#193116-wildcard-words-in-a-logical-pathname-namestring" class="table-of-contents__link toc-highlight">19.3.1.1.6 Wildcard Words in a Logical Pathname Namestring</a></li><li><a href="bj-d-logical-pathnames.html#193117-lowercase-letters-in-a-logical-pathname-namestring" class="table-of-contents__link toc-highlight">19.3.1.1.7 Lowercase Letters in a Logical Pathname Namestring</a></li><li><a href="bj-d-logical-pathnames.html#193118-other-syntax-in-a-logical-pathname-namestring" class="table-of-contents__link toc-highlight">19.3.1.1.8 Other Syntax in a Logical Pathname Namestring</a></li></ul></li></ul></li><li><a href="bj-d-logical-pathnames.html#1932-logical-pathname-components" class="table-of-contents__link toc-highlight">19.3.2 Logical Pathname Components</a><ul><li><a href="bj-d-logical-pathnames.html#19321-unspecific-components-of-a-logical-pathname" class="table-of-contents__link toc-highlight">19.3.2.1 Unspecific Components of a Logical Pathname</a></li><li><a href="bj-d-logical-pathnames.html#19322-null-strings-as-components-of-a-logical-pathname" class="table-of-contents__link toc-highlight">19.3.2.2 Null Strings as Components of a Logical Pathname</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a href="../../docs/tutorial.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Common Lisp Tutorial</a></li><li class="footer__item"><a href="../index.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Common Lisp Technical Reference</a></li><li class="footer__item"><a href="../../docs/help.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Help</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/common-lisp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/hhk46CE" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.reddit.com/r/common_lisp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Reddit<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://irclog.tymoon.eu/libera/commonlisp" target="_blank" rel="noopener noreferrer" class="footer__link-item">IRC<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="../../blog.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Blog</a></li><li class="footer__item"><a href="https://github.com/lisp-docs/lisp-docs.github.io" target="_blank" rel="noopener noreferrer" class="footer__link-item">Tutorial and General Content GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://github.com/lisp-docs/cl-language-reference/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Technical Reference GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="../../docs/contribute.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Contribute to the Docs</a></li></ul></div><div class="col footer__col"><div class="footer__title">Common Lisp Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a href="../../docs/about.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">About</a></li><li class="footer__item"><a href="../../docs/whylisp.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Why Lisp</a></li><li class="footer__item"><a href="../../docs/getting-started.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Getting Started</a></li><li class="footer__item"><a href="../../docs/faq.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">FAQ</a></li><li class="footer__item"><a href="../../docs/help.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Getting Help</a></li><li class="footer__item"><a href="../../docs/howto.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">How To Guides</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Common Lisp Docs, MIT License (see GitHub Repo).</div></div></div></footer></div>
</body>
</html>