@numchapentry{Introduction}{1}{Introduction}{1}
@numchapentry{Quick start summary}{2}{Quick start summary}{2}
@numchapentry{Loading ASDF}{3}{Loading ASDF}{3}
@numsecentry{Loading a pre-installed ASDF}{3.1}{Loading a pre-installed ASDF}{3}
@numsecentry{Checking whether ASDF is loaded}{3.2}{Checking whether ASDF is loaded}{3}
@numsecentry{Upgrading ASDF}{3.3}{Upgrading ASDF}{4}
@numsecentry{Replacing your implementation's ASDF}{3.4}{Replacing your implementation's ASDF}{4}
@numsecentry{Loading ASDF from source}{3.5}{Loading ASDF from source}{4}
@numchapentry{Configuring ASDF}{4}{Configuring ASDF}{6}
@numsecentry{Configuring ASDF to find your systems}{4.1}{Configuring ASDF to find your systems}{6}
@numsecentry{Configuring ASDF to find your systems --- old style}{4.2}{Configuring ASDF to find your systems --- old style}{7}
@numsecentry{Configuring where ASDF stores object files}{4.3}{Configuring where ASDF stores object files}{8}
@numsecentry{Resetting the ASDF configuration}{4.4}{Resetting the ASDF configuration}{9}
@numchapentry{Using ASDF}{5}{Using ASDF}{10}
@numsecentry{Loading a system}{5.1}{Loading a system}{10}
@numsecentry{Convenience Functions}{5.2}{Convenience Functions}{10}
@numsecentry{Moving on}{5.3}{Moving on}{12}
@numchapentry{Defining systems with defsystem}{6}{Defining systems with defsystem}{13}
@numsecentry{The defsystem form}{6.1}{The defsystem form}{13}
@numsecentry{A more involved example}{6.2}{A more involved example}{14}
@numsecentry{The defsystem grammar}{6.3}{The defsystem grammar}{16}
@numsubsecentry{System designators}{6.3.1}{}{22}
@numsubsecentry{Simple component names (@code {simple-component-name})}{6.3.2}{}{22}
@numsubsecentry{Complex component names}{6.3.3}{}{22}
@numsubsecentry{Component types}{6.3.4}{}{22}
@numsubsecentry{System class names}{6.3.5}{}{23}
@numsubsecentry{Defsystem depends on}{6.3.6}{}{23}
@numsubsecentry{Build-operation}{6.3.7}{}{23}
@numsubsecentry{Weakly depends on}{6.3.8}{}{23}
@numsubsecentry{Pathname specifiers}{6.3.9}{}{23}
@numsubsecentry{Version specifiers}{6.3.10}{}{25}
@numsubsecentry{Require}{6.3.11}{}{25}
@numsubsecentry{Feature dependencies}{6.3.12}{}{25}
@numsubsecentry{Using logical pathnames}{6.3.13}{}{26}
@numsubsecentry{Serial dependencies}{6.3.14}{}{26}
@numsubsecentry{Source location (@code {:pathname})}{6.3.15}{}{27}
@numsubsecentry{if-feature option}{6.3.16}{}{27}
@numsubsecentry{Entry point}{6.3.17}{}{27}
@numsubsecentry{feature requirement}{6.3.18}{}{28}
@numsecentry{Other code in .asd files}{6.4}{Other code in .asd files}{28}
@numsecentry{The package-inferred-system extension}{6.5}{The package-inferred-system extension}{28}
@numchapentry{The Object model of ASDF}{7}{The object model of ASDF}{31}
@numsecentry{Operations}{7.1}{Operations}{31}
@numsubsecentry{Predefined operations of ASDF}{7.1.1}{Predefined operations of ASDF}{33}
@numsubsecentry{Creating new operations}{7.1.2}{Creating new operations}{36}
@numsecentry{Components}{7.2}{Components}{37}
@numsubsecentry{Common attributes of components}{7.2.1}{Common attributes of components}{40}
@numsubsubsecentry{Name}{7.2.1.1}{}{40}
@numsubsubsecentry{Version identifier}{7.2.1.2}{}{40}
@numsubsubsecentry{Required features}{7.2.1.3}{}{40}
@numsubsubsecentry{Dependencies}{7.2.1.4}{}{41}
@numsubsubsecentry{pathname}{7.2.1.5}{}{42}
@numsubsubsecentry{properties}{7.2.1.6}{}{43}
@numsubsecentry{Pre-defined subclasses of component}{7.2.2}{Pre-defined subclasses of component}{43}
@numsubsecentry{Creating new component types}{7.2.3}{Creating new component types}{44}
@numsecentry{Dependencies}{7.3}{Dependencies}{44}
@numsecentry{Functions}{7.4}{Functions}{45}
@numchapentry{Controlling where ASDF searches for systems}{8}{Controlling where ASDF searches for systems}{46}
@numsecentry{Configurations}{8.1}{Configurations}{46}
@numsecentry{Truenames and other dangers}{8.2}{Truenames and other dangers}{47}
@numsecentry{XDG base directory}{8.3}{XDG base directory}{47}
@numsecentry{Backward Compatibility}{8.4}{Backward Compatibility}{47}
@numsecentry{Configuration DSL}{8.5}{Configuration DSL}{48}
@numsecentry{Configuration Directories}{8.6}{Configuration Directories}{50}
@numsubsecentry{The :here directive}{8.6.1}{The here directive}{51}
@numsecentry{Shell-friendly syntax for configuration}{8.7}{Shell-friendly syntax for configuration}{51}
@numsecentry{Search Algorithm}{8.8}{Search Algorithm}{52}
@numsecentry{Caching Results}{8.9}{Caching Results}{52}
@numsecentry{Configuration API}{8.10}{Configuration API}{53}
@numsecentry{Introspection}{8.11}{Introspection}{54}
@numsubsecentry{*source-registry-parameter* variable}{8.11.1}{*source-registry-parameter* variable}{54}
@numsubsecentry{Information about system dependencies}{8.11.2}{Information about system dependencies}{54}
@numsecentry{Status}{8.12}{Status}{54}
@numsecentry{Rejected ideas}{8.13}{Rejected ideas}{54}
@numsecentry{TODO}{8.14}{TODO}{55}
@numsecentry{Credits for the source-registry}{8.15}{Credits for the source-registry}{55}
@numchapentry{Controlling where ASDF saves compiled files}{9}{Controlling where ASDF saves compiled files}{56}
@numsecentry{Configurations}{9.1}{Output Configurations}{56}
@numsecentry{Backward Compatibility}{9.2}{Output Backward Compatibility}{57}
@numsecentry{Configuration DSL}{9.3}{Output Configuration DSL}{57}
@numsecentry{Configuration Directories}{9.4}{Output Configuration Directories}{60}
@numsecentry{Shell-friendly syntax for configuration}{9.5}{Output Shell-friendly syntax for configuration}{60}
@numsecentry{Semantics of Output Translations}{9.6}{Semantics of Output Translations}{60}
@numsecentry{Caching Results}{9.7}{Output Caching Results}{61}
@numsecentry{Output location API}{9.8}{Output location API}{61}
@numsecentry{Credits for output translations}{9.9}{Credits for output translations}{62}
@numchapentry{Error handling}{10}{Error handling}{63}
@numsecentry{ASDF errors}{10.1}{}{63}
@numsecentry{Compilation error and warning handling}{10.2}{}{63}
@numchapentry{Miscellaneous additional functionality}{11}{Miscellaneous additional functionality}{64}
@numsecentry{Controlling file compilation}{11.1}{Controlling file compilation}{64}
@numsecentry{Controlling source file character encoding}{11.2}{Controlling source file character encoding}{65}
@numsecentry{Miscellaneous Functions}{11.3}{Miscellaneous Functions}{66}
@numsecentry{Some Utility Functions}{11.4}{Some Utility Functions}{68}
@numchapentry{Getting the latest version}{12}{Getting the latest version}{72}
@numchapentry{FAQ}{13}{FAQ}{73}
@numsecentry{``Where do I report a bug?''}{13.1}{Where do I report a bug?}{73}
@numsecentry{Mailing list}{13.2}{Mailing list}{73}
@numsecentry{``What has changed between ASDF 1, ASDF 2, and ASDF 3?''}{13.3}{What has changed between ASDF 1 ASDF 2 and ASDF 3?}{73}
@numsubsecentry{What are ASDF 1, ASDF 2, and ASDF 3?}{13.3.1}{What are ASDF 1 2 3?}{73}
@numsubsecentry{How do I detect the ASDF version?}{13.3.2}{How do I detect the ASDF version?}{74}
@numsubsecentry{ASDF can portably name files in subdirectories}{13.3.3}{ASDF can portably name files in subdirectories}{74}
@numsubsecentry{Output translations}{13.3.4}{Output translations}{75}
@numsubsecentry{Source Registry Configuration}{13.3.5}{Source Registry Configuration}{75}
@numsubsecentry{Usual operations are made easier to the user}{13.3.6}{Usual operations are made easier to the user}{76}
@numsubsecentry{Many bugs have been fixed}{13.3.7}{Many bugs have been fixed}{76}
@numsubsecentry{ASDF itself is versioned}{13.3.8}{ASDF itself is versioned}{76}
@numsubsecentry{ASDF can be upgraded}{13.3.9}{ASDF can be upgraded}{76}
@numsubsecentry{Decoupled release cycle}{13.3.10}{Decoupled release cycle}{77}
@numsubsecentry{Pitfalls of the transition to ASDF 2}{13.3.11}{Pitfalls of the transition to ASDF 2}{77}
@numsubsecentry{Pitfalls of the upgrade to ASDF 3}{13.3.12}{Pitfalls of the upgrade to ASDF 3}{78}
@numsubsecentry{What happened to the bundle operations?}{13.3.13}{What happened to the bundle operations}{79}
@numsecentry{Issues with installing the proper version of ASDF}{13.4}{Issues with installing the proper version of ASDF}{80}
@numsubsecentry{``My Common Lisp implementation comes with an outdated version of ASDF. What to do?''}{13.4.1}{My Common Lisp implementation comes with an outdated version of ASDF. What to do?}{80}
@numsubsecentry{``I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?''}{13.4.2}{I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?}{80}
@numsubsecentry{After upgrading ASDF, ASDF (and Quicklisp) can't find my systems}{13.4.3}{After upgrading ASDF}{81}
@numsecentry{Issues with configuring ASDF}{13.5}{Issues with configuring ASDF}{81}
@numsubsecentry{``How can I customize where fasl files are stored?''}{13.5.1}{How can I customize where fasl files are stored?}{81}
@numsubsecentry{``How can I wholly disable the compiler output cache?''}{13.5.2}{How can I wholly disable the compiler output cache?}{82}
@numsubsecentry{How can I debug problems finding ASDF systems?}{13.5.3}{How can I debug problems finding ASDF systems}{82}
@numsecentry{Issues with using and extending ASDF to define systems}{13.6}{Issues with using and extending ASDF to define systems}{83}
@numsubsecentry{``How can I cater for unit-testing in my system?''}{13.6.1}{How can I cater for unit-testing in my system?}{83}
@numsubsecentry{``How can I cater for documentation generation in my system?''}{13.6.2}{How can I cater for documentation generation in my system?}{83}
@numsubsecentry{``How can I maintain non-Lisp (e.g. C) source files?''}{13.6.3}{How can I maintain non-Lisp (e.g. C) source files?}{83}
@numsubsecentry{``I want to put my module's files at the top level. How do I do this?''}{13.6.4}{I want to put my module's files at the top level. How do I do this?}{83}
@numsubsecentry{How do I create a system definition where all the source files have a .cl extension?}{13.6.5}{How do I create a system definition where all the source files have a .cl extension?}{84}
@numsubsecentry{How do I mark a source file to be loaded only and not compiled?}{13.6.6}{How do I mark a source file to be loaded only and not compiled?}{85}
@numsubsecentry{How do I work with readtables?}{13.6.7}{How do I work with readtables?}{85}
@numsubsubsecentry{How should my system use a readtable exported by another system?}{13.6.7.1}{}{86}
@numsubsubsecentry{How should my library make a readtable available to other systems?}{13.6.7.2}{}{86}
@numsubsecentry{How can I capture ASDF's output?}{13.6.8}{How can I capture ASDF's output?}{86}
@numsubsecentry{*LOAD-PATHNAME* and *LOAD-TRUENAME* have weird values, help!}{13.6.9}{LOAD-PATHNAME has a weird value}{86}
@numsecentry{ASDF development FAQs}{13.7}{ASDF development FAQs}{87}
@numsubsecentry{How do I run the tests interactively in a REPL?}{13.7.1}{How do I run the tests interactively in a REPL?}{87}
@unnchapentry{Ongoing Work}{10001}{Ongoing Work}{88}
@unnchapentry{Bibliography}{10002}{Bibliography}{89}
@unnchapentry{Concept Index}{10003}{Concept Index}{91}
@unnchapentry{Function and Macro Index}{10004}{Function and Macro Index}{93}
@unnchapentry{Variable Index}{10005}{Variable Index}{94}
@unnchapentry{Class and Type Index}{10006}{Class and Type Index}{95}
