Raymond Toy pushed to branch master at cmucl / cmucl

Commits:

4 changed files:

Changes:

  • src/contrib/asdf/asdf.lisp The diff for this file was not included because it is too large.
  • src/contrib/asdf/doc/asdf.html
    ... ... @@ -31,7 +31,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    31 31
     OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    
    32 32
     WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    
    33 33
      -->
    
    34
    -<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
    
    34
    +<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
    
    35 35
     <head>
    
    36 36
     <title>ASDF Manual</title>
    
    37 37
     
    
    ... ... @@ -235,6 +235,7 @@ ul.no-bullet {list-style: none}
    235 235
         <ul class="no-bullet">
    
    236 236
           <li><a name="toc-_0060_0060My-Common-Lisp-implementation-comes-with-an-outdated-version-of-ASDF_002e-What-to-do_003f_0027_0027" href="#My-Common-Lisp-implementation-comes-with-an-outdated-version-of-ASDF_002e-What-to-do_003f">13.4.1 &ldquo;My Common Lisp implementation comes with an outdated version of ASDF. What to do?&rdquo;</a></li>
    
    237 237
           <li><a name="toc-_0060_0060I_0027m-a-Common-Lisp-implementation-vendor_002e-When-and-how-should-I-upgrade-ASDF_003f_0027_0027" href="#I_0027m-a-Common-Lisp-implementation-vendor_002e-When-and-how-should-I-upgrade-ASDF_003f">13.4.2 &ldquo;I&rsquo;m a Common Lisp implementation vendor. When and how should I upgrade ASDF?&rdquo;</a></li>
    
    238
    +      <li><a name="toc-After-upgrading-ASDF_002c-ASDF-_0028and-Quicklisp_0029-can_0027t-find-my-systems" href="#After-upgrading-ASDF">13.4.3 After upgrading ASDF, ASDF (and Quicklisp) can&rsquo;t find my systems</a></li>
    
    238 239
         </ul></li>
    
    239 240
         <li><a name="toc-Issues-with-configuring-ASDF-1" href="#Issues-with-configuring-ASDF">13.5 Issues with configuring ASDF</a>
    
    240 241
         <ul class="no-bullet">
    
    ... ... @@ -276,7 +277,7 @@ ul.no-bullet {list-style: none}
    276 277
     <a name="Top"></a>
    
    277 278
     <a name="ASDF_003a-Another-System-Definition-Facility"></a>
    
    278 279
     <h1 class="top">ASDF: Another System Definition Facility</h1>
    
    279
    -<p>Manual for Version 3.2.1
    
    280
    +<p>Manual for Version 3.3.0
    
    280 281
     </p>
    
    281 282
     
    
    282 283
     <p>This manual describes ASDF, a system definition facility
    
    ... ... @@ -353,16 +354,19 @@ ASDF is <em>not</em> a tool for library and system <em>installation</em>;
    353 354
     it plays a role like <code>make</code> or <code>ant</code>, not like a package manager.
    
    354 355
     In particular, ASDF should not to be confused with Quicklisp or ASDF-Install,
    
    355 356
     that attempt to find and download ASDF systems for you.
    
    356
    -Despite what the name might suggest, ASDF-Install is not part of ASDF, but a separate piece of software.
    
    357
    +Despite what the name might suggest,
    
    358
    +ASDF-Install was never a part of ASDF, it was a separate piece of software.
    
    357 359
     ASDF-Install is also unmaintained and obsolete.
    
    358 360
     We recommend you use Quicklisp
    
    359 361
     (<a href="http://www.quicklisp.org/">http://www.quicklisp.org/</a>) instead,
    
    360 362
     a Common Lisp package manager which works well and is being actively maintained.
    
    361 363
     If you want to download software from version control instead of tarballs,
    
    362
    -so you may more easily modify it, we recommend clbuild (<a href="http://common-lisp.net/project/clbuild/">http://common-lisp.net/project/clbuild/</a>).
    
    363
    -We recommend <samp>~/common-lisp/</samp>
    
    364
    -as a place into which to install Common Lisp software;
    
    365
    -starting with ASDF 3.1.2, it is included in the default source-registry configuration.
    
    364
    +so you may more easily modify it,
    
    365
    +we recommend clbuild (<a href="http://common-lisp.net/project/clbuild/">http://common-lisp.net/project/clbuild/</a>).
    
    366
    +As for where on your filesystem to install Common Lisp software,
    
    367
    +we recommend subdirectories of <samp>~/common-lisp/</samp>:
    
    368
    +starting with ASDF 3.1.2 (2014), this hierarchy is included
    
    369
    +in the default source-registry configuration.
    
    366 370
     </p>
    
    367 371
     <p>Finally, note that this manual is incomplete.
    
    368 372
     All the bases are covered,
    
    ... ... @@ -511,8 +515,9 @@ before you contact us and raise an issue.
    511 515
     <h3 class="section">3.3 Upgrading ASDF</h3>
    
    512 516
     
    
    513 517
     <p>If your implementation already provides ASDF 3 or later (and it should),
    
    514
    -but you want a more recent ASDF version than your implementation provides,
    
    515
    -then you just need to ensure the more recent ASDF is installed in a configured path, like any other system.
    
    518
    +but you want a more recent ASDF version than your implementation provides, then
    
    519
    +you just need to ensure the more recent ASDF is installed in a configured path,
    
    520
    +like any other system.
    
    516 521
     We recommend you download an official tarball or checkout a release from git into
    
    517 522
     <samp>~/common-lisp/asdf/</samp>.
    
    518 523
     (see <a href="#Configuring-ASDF-to-find-your-systems">Configuring ASDF to find your systems</a>).
    
    ... ... @@ -532,15 +537,18 @@ see <a href="#Replacing-your-implementation_0027s-ASDF">Replacing your implement
    532 537
     <h3 class="section">3.4 Replacing your implementation&rsquo;s ASDF</h3>
    
    533 538
     
    
    534 539
     <p>All maintained implementations now provide ASDF 3 in their latest release.
    
    535
    -If your doesn&rsquo;t, we recommend you upgrade it.
    
    540
    +If yours doesn&rsquo;t, we recommend you upgrade it.
    
    536 541
     </p>
    
    537
    -<p>Now, if you insist on using an old implementation that didn&rsquo;t provide ASDF or provided an old version,
    
    542
    +<p>Now, if you insist on using an old implementation
    
    543
    +that didn&rsquo;t provide ASDF or provided an old version,
    
    538 544
     we recommend installing a recent ASDF, as explained below,
    
    539 545
     into your implementation&rsquo;s installation directory.
    
    540 546
     Thus your modified implementation will now provide ASDF 3.
    
    541
    -This requires proper write permissions and may necessitate execution as a system administrator.
    
    547
    +This requires proper write permissions and
    
    548
    +may necessitate execution as a system administrator.
    
    542 549
     </p>
    
    543
    -<p>The ASDF source repository contains a tool to help you upgrade your implementation&rsquo;s ASDF.
    
    550
    +<p>The ASDF source repository contains a tool to
    
    551
    +help you upgrade your implementation&rsquo;s ASDF.
    
    544 552
     You can invoke it from the shell command-line as
    
    545 553
     <code>tools/asdf-tools install-asdf lispworks</code>
    
    546 554
     (where you can replace <code>lispworks</code> by the name of the relevant implementation),
    
    ... ... @@ -681,17 +689,34 @@ may already have configured system-managed libraries for you.
    681 689
     
    
    682 690
     
    
    683 691
     <p>Novices may skip this section.
    
    692
    +Please <em>do not</em> use the central-registry if you are a novice,
    
    693
    +and <em>do not</em> instruct novices to use the central-registry.
    
    684 694
     </p>
    
    685 695
     <p>The old way to configure ASDF to find your systems is by
    
    686 696
     <code>push</code>ing directory pathnames onto the variable
    
    687 697
     <code>asdf:*central-registry*</code>.
    
    688 698
     </p>
    
    689
    -<p>You must configure this variable between the time you load ASDF
    
    690
    -and the time you first try to use it.
    
    691
    -Loading and configuring ASDF presumably happen
    
    692
    -as part of some initialization script that builds or starts
    
    693
    -your Common Lisp software system.
    
    694
    -(For instance, some SBCL users used to put it in their <samp>~/.sbclrc</samp>.)
    
    699
    +<p>You <em>must</em> configure this variable <em>after</em> you load ASDF 3 or later,
    
    700
    +yet <em>before</em> the first time you try to use it.
    
    701
    +This loading and configuring of ASDF must happen
    
    702
    +as part of some initialization script:
    
    703
    +typically, either a script you maintain that builds your project,
    
    704
    +or your implementation&rsquo;s initialization script
    
    705
    +(e.g. <samp>~/.sbclrc</samp> for SBCL).
    
    706
    +</p>
    
    707
    +<p>Also, if you are using an ancient ASDF 2 or earlier to load ASDF 3 or later,
    
    708
    +then after it loads the ancient ASDF, your script <em>must</em> configure
    
    709
    +the central-registry a first time to tell ASDF 1 or 2 where to find ASDF 3,
    
    710
    +then load ASDF 3 with e.g. <code>(asdf:operate 'asdf:load-op &quot;asdf&quot;)</code>,
    
    711
    +then configure the central-registry again, because
    
    712
    +ASDF 3 will not preserve the central-registry from ASDF 2 when upgrading.
    
    713
    +You should probably be using the source-registry instead, which will be preserved
    
    714
    +(unless you manually called <code>asdf:initialize-source-registry</code> with an argument,
    
    715
    +in which case you will have to do it again indeed).
    
    716
    +However, if you are using an ancient ASDF 2 or earlier,
    
    717
    +we <em>strongly</em> recommend that you should instead upgrade your implementation,
    
    718
    +or overwrite the ancient ASDF installation with a more recent one:
    
    719
    +See <a href="#Replacing-your-implementation_0027s-ASDF">Replacing your implementation's ASDF</a>.
    
    695 720
     </p>
    
    696 721
     <p>The <code>asdf:*central-registry*</code> is empty by default in ASDF 2 or ASDF 3,
    
    697 722
     but is still supported for compatibility with ASDF 1.
    
    ... ... @@ -714,6 +739,8 @@ is necessary to tell Lisp that you&rsquo;re discussing a directory
    714 739
     rather than a file.  If you leave it out, ASDF is likely to look in
    
    715 740
     <code>/home/me/src/</code> instead of <code>/home/me/src/foo/</code> as you
    
    716 741
     intended, and fail to find your system definition.
    
    742
    +Modern versions of ASDF will issue an error and offer you to
    
    743
    +remove such entries from the central-registry.
    
    717 744
     </p>
    
    718 745
     <p>Typically there are a lot of <samp>.asd</samp> files, and
    
    719 746
     a common idiom was to put
    
    ... ... @@ -1309,6 +1336,12 @@ simple-component-name := string
    1309 1336
     
    
    1310 1337
     pathname-specifier := pathname | string | symbol
    
    1311 1338
     
    
    1339
    +version-specifier := string
    
    1340
    +                     | (:read-file-form &lt;pathname-specifier&gt; &lt;form-specifier&gt;?)
    
    1341
    +                     | (:read-file-line &lt;pathname-specifier&gt; &lt;line-specifier&gt;?)
    
    1342
    +line-specifier := :at integer # base zero
    
    1343
    +form-specifier := :at [ integer | ( integer+ )]
    
    1344
    +
    
    1312 1345
     method-form := (operation-name qual lambda-list &amp;rest body)
    
    1313 1346
     qual := method qualifier?
    
    1314 1347
     
    
    ... ... @@ -1510,12 +1543,17 @@ had the version strings been interpreted as decimal fractions.
    1510 1543
     the <code>:version</code> argument can be an expression that is resolved to
    
    1511 1544
     such a string using the following trivial domain-specific language:
    
    1512 1545
     in addition to being a literal string, it can be an expression of the form
    
    1513
    -<code>(:read-file-form &lt;pathname-or-string&gt; :at &lt;access-at-specifier&gt;)</code>,
    
    1514
    -which will be resolved by reading a form in the specified pathname
    
    1515
    -(read as a subpathname of the current system if relative or a unix-namestring).
    
    1546
    +<code>(:read-file-form &lt;pathname-or-string&gt; [:at &lt;access-at-specifier]&gt;)</code>,
    
    1547
    +or <code>(:read-file-line &lt;pathname-or-string&gt; [:at
    
    1548
    +&lt;access-at-specifier]?&gt;)</code>.
    
    1549
    +As the name suggests, the former will be resolved by reading a form in the specified pathname
    
    1550
    +(read as a subpathname of the current system if relative or a
    
    1551
    +unix-namestring), and the latter by reading a line.
    
    1516 1552
     You may use a <code>uiop:access-at</code> specifier
    
    1517
    -with the (optional) <code>:at</code> keyword,
    
    1518
    -by default the specifier is <code>0</code>, meaning the first form is returned;
    
    1553
    +with the <code>:at</code> keyword,
    
    1554
    +by default the specifier is <code>0</code>, meaning the first form/line is
    
    1555
    +returned.
    
    1556
    +For <code>:read-file-form</code>,
    
    1519 1557
     subforms can also be specified, with e.g. <code>(1 2 2)</code> specifying
    
    1520 1558
     &ldquo;the third subform (index 2) of the third subform (index 2) of the second form (index 1)&rdquo;
    
    1521 1559
     in the file (mind the off-by-one error in the English language).
    
    ... ... @@ -3486,7 +3524,7 @@ The speedup will only happen if the implementation-provided ASDF is recent enoug
    3486 3524
     since the upgrade will itself be found but
    
    3487 3525
     after the old version has scanned the directories without heeding such a cache.
    
    3488 3526
     To upgrade the implementation-provided ASDF,
    
    3489
    -use our script <code>tools/install-asdf.lisp</code>.
    
    3527
    +see <a href="#Replacing-your-implementation_0027s-ASDF">Replacing your implementation's ASDF</a>.
    
    3490 3528
     </p>
    
    3491 3529
     
    
    3492 3530
     <hr>
    
    ... ... @@ -5308,17 +5346,21 @@ Happily, CMUCL comes with a recent ASDF,
    5308 5346
     and XCL is more of a working demo than something you&rsquo;d use seriously anyway.
    
    5309 5347
     
    
    5310 5348
     </li><li> For the above reasons, your build and startup scripts
    
    5311
    -should load, configure and upgrade ASDF among the very first things they do,
    
    5312
    -and ensure that ASDF 3 or later is present indeed,
    
    5313
    -before they start using ASDF to load anything else.
    
    5314
    -
    
    5315
    -</li><li> Now that all implementations provide ASDF 3.1 or later (since May 2016),
    
    5349
    +should load ASDF 3, configure it, and upgrade it,
    
    5350
    +among the very first things they do.
    
    5351
    +They should ensure that only ASDF 3 or later is used indeed,
    
    5352
    +and error out if ASDF 2 or earlier was used.
    
    5353
    +
    
    5354
    +</li><li> Now that (since May 2016) all maintained implementations
    
    5355
    +(i.e. having had at least one release since 2014,
    
    5356
    +or a commit on their public source code repository)
    
    5357
    +provide ASDF 3.1 or later,
    
    5316 5358
     the simple solution is just to use code as below in your setup,
    
    5317 5359
     and when it fails, upgrade your implementation or replace its ASDF.
    
    5318 5360
     (see <a href="#Replacing-your-implementation_0027s-ASDF">Replacing your implementation's ASDF</a>):
    
    5319 5361
     <div class="example">
    
    5320 5362
     <pre class="example">(require &quot;asdf&quot;)
    
    5321
    -#-asdf3 (error &quot;ASDF 3 or bust&quot;)
    
    5363
    +#-asdf3.1 (error &quot;ASDF 3.1 or bust&quot;)
    
    5322 5364
     </pre></div>
    
    5323 5365
     
    
    5324 5366
     </li><li> For scripts that try to use ASDF simply via <code>require</code> at first, and
    
    ... ... @@ -5326,13 +5368,14 @@ make heroic attempts to load it the hard way if at first they don&rsquo;t succee
    5326 5368
     see <samp>tools/load-asdf.lisp</samp> distributed with the ASDF source repository,
    
    5327 5369
     or the code of <a href="https://cliki.net/cl-launch"><code>cl-launch</code></a>.
    
    5328 5370
     
    
    5329
    -</li><li> Note that in addition to the pitfalls and constraints above,
    
    5371
    +</li><li> <a name="reinitializeASDFAfterUpgrade"></a>Note that in addition to the pitfalls and constraints above,
    
    5330 5372
     these heroic scripts (should you wish to write or modify one),
    
    5331 5373
     must take care to configure ASDF <em>twice</em>.
    
    5332
    -A first time, right after you load the old ASDF 2 and before you upgrade to the new ASDF 3,
    
    5374
    +A first time, right after you load the old ASDF 2 (or 1!)
    
    5375
    +and before you upgrade to the new ASDF 3,
    
    5333 5376
     so it may find where you put ASDF 3.
    
    5334
    -A second time, because some implementations can&rsquo;t handle a smooth upgrade to ASDF 3,
    
    5335
    -and lose configuration as they do.
    
    5377
    +A second time, because most implementations can&rsquo;t handle a smooth upgrade from ASDF 2 to ASDF 3,
    
    5378
    +so ASDF 3 doesn&rsquo;t try (anymore) and loses any configuration from ASDF 2.
    
    5336 5379
     <div class="lisp">
    
    5337 5380
     <pre class="lisp">(ignore-errors (funcall 'require &quot;asdf&quot;)) ;; &lt;--- try real hard
    
    5338 5381
     ;; &lt;--- insert heroics here, if that failed to provide ASDF 2 or 3
    
    ... ... @@ -5486,7 +5529,38 @@ when they upgrade to the upstream version.
    5486 5529
     
    
    5487 5530
     </li></ul>
    
    5488 5531
     
    
    5489
    -
    
    5532
    +<hr>
    
    5533
    +<a name="After-upgrading-ASDF"></a>
    
    5534
    +<a name="After-upgrading-ASDF_002c-ASDF-_0028and-Quicklisp_0029-can_0027t-find-my-systems"></a>
    
    5535
    +<h4 class="subsection">13.4.3 After upgrading ASDF, ASDF (and Quicklisp) can&rsquo;t find my systems</h4>
    
    5536
    +<a name="index-_002acentral_002dregistry_002a"></a>
    
    5537
    +<a name="index-Quicklisp"></a>
    
    5538
    +
    
    5539
    +<p>When you upgrade the ASDF running in your Lisp image
    
    5540
    +from an ancient ASDF 2 or older to ASDF 3 or newer,
    
    5541
    +then you may have to re-configure ASDF.
    
    5542
    +If your configuration only consists in
    
    5543
    +using the source-registry and output-translations (as it should),
    
    5544
    +and if you are not explicitly calling <code>asdf:initialize-source-registry</code>
    
    5545
    +or <code>asdf:initialize-output-translations</code> with a non-nil argument,
    
    5546
    +then ASDF will reconfigure itself.
    
    5547
    +Otherwise, you will have to configure ASDF 2 (or older) to find ASDF 3,
    
    5548
    +then configure ASDF 3.
    
    5549
    +Notably, <var>*central-registry*</var> is not maintained across upgrades from ASDF 2.
    
    5550
    +See <a href="#reinitializeASDFAfterUpgrade">note about ASDF reconfiguration after upgrade</a>.
    
    5551
    +</p>
    
    5552
    +<p>Problems like this may be experienced if one loads Quicklisp
    
    5553
    +(which as of this writing bundles an obsolete ASDF version 2.26),
    
    5554
    +upgrades ASDF, and then tries to load new systems.
    
    5555
    +The correct solution is to load the most up-to-date ASDF you can,
    
    5556
    +<em>then</em> configure it, <em>then</em> load Quicklisp and any other extension.
    
    5557
    +Do <em>not</em> try to upgrade from ASDF 2 <em>after</em> loading Quicklisp,
    
    5558
    +for it will leave both ASDF and Quicklisp badly misconfigured.
    
    5559
    +For details see the discussion at the above cross-reference.
    
    5560
    +</p>
    
    5561
    +<p>Also, if you are experiencing such failures due to Quicklisp shipping an ancient ASDF,
    
    5562
    +please complain to Zach Beane about it.
    
    5563
    +</p>
    
    5490 5564
     
    
    5491 5565
     <hr>
    
    5492 5566
     <a name="Issues-with-configuring-ASDF"></a>
    
    ... ... @@ -5884,24 +5958,17 @@ interested, too.
    5884 5958
     ;; Load the test script support.
    
    5885 5959
     (load &quot;script-support.lisp&quot;)
    
    5886 5960
     
    
    5887
    -;; Initialize the script support.
    
    5888
    -;; This will also change your *package* to asdf-test.
    
    5961
    +;; Initialize the script support for interaction.
    
    5962
    +;; This will also change your *package* to asdf-test
    
    5963
    +;; after frobbing the asdf-test package to make it usable.
    
    5889 5964
     ;; NB: this function is also available from package cl-user,
    
    5890 5965
     ;; and also available with the shorter name da in both packages.
    
    5891
    -(asdf-test::debug-asdf)
    
    5892
    -
    
    5893
    -;; In case you modified ASDF since you last tested it,
    
    5894
    -;; you need to update asdf.lisp itself by evaluating 'make' in a shell,
    
    5895
    -;; or (require &quot;asdf&quot;) (asdf:load-system :asdf) in another CL REPL,
    
    5896
    -;; if not done in this REPL above.
    
    5897
    -;; *Then*, in this REPL, you need to evaluate:
    
    5898
    -;(asdf-test::compile-load-asdf)
    
    5966
    +(asdf-test:debug-asdf)
    
    5899 5967
     
    
    5900 5968
     ;; Now, you may experiment with test code from a .script file.
    
    5901 5969
     ;; See the instructions given at the end of your failing test
    
    5902 5970
     ;; to identify which form is needed, e.g.
    
    5903
    -(frob-packages)
    
    5904
    -(asdf::with-asdf-cache () (load &quot;test-utilities.script&quot;))
    
    5971
    +(run-test-script &quot;test-utilities.script&quot;)
    
    5905 5972
     </pre></div>
    
    5906 5973
     
    
    5907 5974
     
    
    ... ... @@ -6016,6 +6083,8 @@ see the <samp>TODO</samp> file in the source repository.
    6016 6083
      &nbsp; 
    
    6017 6084
     <a class="summary-letter" href="#Concept-Index_cp_letter-P"><b>P</b></a>
    
    6018 6085
      &nbsp; 
    
    6086
    +<a class="summary-letter" href="#Concept-Index_cp_letter-Q"><b>Q</b></a>
    
    6087
    + &nbsp; 
    
    6019 6088
     <a class="summary-letter" href="#Concept-Index_cp_letter-R"><b>R</b></a>
    
    6020 6089
      &nbsp; 
    
    6021 6090
     <a class="summary-letter" href="#Concept-Index_cp_letter-S"><b>S</b></a>
    
    ... ... @@ -6105,6 +6174,9 @@ see the <samp>TODO</samp> file in the source repository.
    6105 6174
     <tr><td></td><td valign="top"><a href="#index-pathname-specifiers">pathname specifiers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#The-defsystem-grammar">The defsystem grammar</a></td></tr>
    
    6106 6175
     <tr><td></td><td valign="top"><a href="#index-Primary-system-name">Primary system name</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Components">Components</a></td></tr>
    
    6107 6176
     <tr><td colspan="4"> <hr></td></tr>
    
    6177
    +<tr><th><a name="Concept-Index_cp_letter-Q">Q</a></th><td></td><td></td></tr>
    
    6178
    +<tr><td></td><td valign="top"><a href="#index-Quicklisp">Quicklisp</a>:</td><td>&nbsp;</td><td valign="top"><a href="#After-upgrading-ASDF">After upgrading ASDF</a></td></tr>
    
    6179
    +<tr><td colspan="4"> <hr></td></tr>
    
    6108 6180
     <tr><th><a name="Concept-Index_cp_letter-R">R</a></th><td></td><td></td></tr>
    
    6109 6181
     <tr><td></td><td valign="top"><a href="#index-readtables">readtables</a>:</td><td>&nbsp;</td><td valign="top"><a href="#How-do-I-work-with-readtables_003f">How do I work with readtables?</a></td></tr>
    
    6110 6182
     <tr><td colspan="4"> <hr></td></tr>
    
    ... ... @@ -6147,6 +6219,8 @@ see the <samp>TODO</samp> file in the source repository.
    6147 6219
      &nbsp; 
    
    6148 6220
     <a class="summary-letter" href="#Concept-Index_cp_letter-P"><b>P</b></a>
    
    6149 6221
      &nbsp; 
    
    6222
    +<a class="summary-letter" href="#Concept-Index_cp_letter-Q"><b>Q</b></a>
    
    6223
    + &nbsp; 
    
    6150 6224
     <a class="summary-letter" href="#Concept-Index_cp_letter-R"><b>R</b></a>
    
    6151 6225
      &nbsp; 
    
    6152 6226
     <a class="summary-letter" href="#Concept-Index_cp_letter-S"><b>S</b></a>
    
    ... ... @@ -6366,6 +6440,7 @@ see the <samp>TODO</samp> file in the source repository.
    6366 6440
     <tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
    
    6367 6441
     <tr><td colspan="4"> <hr></td></tr>
    
    6368 6442
     <tr><th><a name="Variable-Index_vr_symbol-1">*</a></th><td></td><td></td></tr>
    
    6443
    +<tr><td></td><td valign="top"><a href="#index-_002acentral_002dregistry_002a"><code>*central-registry*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#After-upgrading-ASDF">After upgrading ASDF</a></td></tr>
    
    6369 6444
     <tr><td></td><td valign="top"><a href="#index-_002acompile_002dfile_002dfailure_002dbehaviour_002a"><code>*compile-file-failure-behaviour*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Error-handling">Error handling</a></td></tr>
    
    6370 6445
     <tr><td></td><td valign="top"><a href="#index-_002acompile_002dfile_002dwarnings_002dbehaviour_002a"><code>*compile-file-warnings-behaviour*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Error-handling">Error handling</a></td></tr>
    
    6371 6446
     <tr><td></td><td valign="top"><a href="#index-_002adefault_002dsource_002dregistry_002dexclusions_002a"><code>*default-source-registry-exclusions*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Search-Algorithm">Search Algorithm</a></td></tr>
    

  • src/contrib/asdf/doc/asdf.info
    1
    -This is asdf.info, produced by makeinfo version 6.3 from asdf.texinfo.
    
    1
    +This is asdf.info, produced by makeinfo version 6.1 from asdf.texinfo.
    
    2 2
     
    
    3 3
     This manual describes ASDF, a system definition facility for Common Lisp
    
    4 4
     programs and libraries.
    
    ... ... @@ -43,7 +43,7 @@ File: asdf.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
    43 43
     ASDF: Another System Definition Facility
    
    44 44
     ****************************************
    
    45 45
     
    
    46
    -Manual for Version 3.2.1
    
    46
    +Manual for Version 3.3.0
    
    47 47
     
    
    48 48
        This manual describes ASDF, a system definition facility for Common
    
    49 49
     Lisp programs and libraries.
    
    ... ... @@ -228,6 +228,7 @@ Issues with installing the proper version of ASDF
    228 228
     
    
    229 229
     * My Common Lisp implementation comes with an outdated version of ASDF. What to do?::
    
    230 230
     * I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?::
    
    231
    +* After upgrading ASDF, ASDF (and Quicklisp) can't find my systems: After upgrading ASDF.
    
    231 232
     
    
    232 233
     Issues with configuring ASDF
    
    233 234
     
    
    ... ... @@ -276,16 +277,17 @@ ASDF::, for a description of the ASDF internals and how to extend ASDF.
    276 277
     it plays a role like 'make' or 'ant', not like a package manager.  In
    
    277 278
     particular, ASDF should not to be confused with Quicklisp or
    
    278 279
     ASDF-Install, that attempt to find and download ASDF systems for you.
    
    279
    -Despite what the name might suggest, ASDF-Install is not part of ASDF,
    
    280
    -but a separate piece of software.  ASDF-Install is also unmaintained and
    
    281
    -obsolete.  We recommend you use Quicklisp (<http://www.quicklisp.org/>)
    
    282
    -instead, a Common Lisp package manager which works well and is being
    
    283
    -actively maintained.  If you want to download software from version
    
    284
    -control instead of tarballs, so you may more easily modify it, we
    
    285
    -recommend clbuild (<http://common-lisp.net/project/clbuild/>).  We
    
    286
    -recommend '~/common-lisp/' as a place into which to install Common Lisp
    
    287
    -software; starting with ASDF 3.1.2, it is included in the default
    
    288
    -source-registry configuration.
    
    280
    +Despite what the name might suggest, ASDF-Install was never a part of
    
    281
    +ASDF, it was a separate piece of software.  ASDF-Install is also
    
    282
    +unmaintained and obsolete.  We recommend you use Quicklisp
    
    283
    +(<http://www.quicklisp.org/>) instead, a Common Lisp package manager
    
    284
    +which works well and is being actively maintained.  If you want to
    
    285
    +download software from version control instead of tarballs, so you may
    
    286
    +more easily modify it, we recommend clbuild
    
    287
    +(<http://common-lisp.net/project/clbuild/>).  As for where on your
    
    288
    +filesystem to install Common Lisp software, we recommend subdirectories
    
    289
    +of '~/common-lisp/': starting with ASDF 3.1.2 (2014), this hierarchy is
    
    290
    +included in the default source-registry configuration.
    
    289 291
     
    
    290 292
        Finally, note that this manual is incomplete.  All the bases are
    
    291 293
     covered, but many advanced topics are only barely alluded to, and there
    
    ... ... @@ -446,7 +448,7 @@ File: asdf.info, Node: Replacing your implementation's ASDF, Next: Loading ASD
    446 448
     ========================================
    
    447 449
     
    
    448 450
     All maintained implementations now provide ASDF 3 in their latest
    
    449
    -release.  If your doesn't, we recommend you upgrade it.
    
    451
    +release.  If yours doesn't, we recommend you upgrade it.
    
    450 452
     
    
    451 453
        Now, if you insist on using an old implementation that didn't provide
    
    452 454
     ASDF or provided an old version, we recommend installing a recent ASDF,
    
    ... ... @@ -612,16 +614,33 @@ File: asdf.info, Node: Configuring ASDF to find your systems --- old style, Ne
    612 614
     4.2 Configuring ASDF to find your systems -- old style
    
    613 615
     ======================================================
    
    614 616
     
    
    615
    -Novices may skip this section.
    
    617
    +Novices may skip this section.  Please _do not_ use the central-registry
    
    618
    +if you are a novice, and _do not_ instruct novices to use the
    
    619
    +central-registry.
    
    616 620
     
    
    617 621
        The old way to configure ASDF to find your systems is by 'push'ing
    
    618 622
     directory pathnames onto the variable 'asdf:*central-registry*'.
    
    619 623
     
    
    620
    -   You must configure this variable between the time you load ASDF and
    
    621
    -the time you first try to use it.  Loading and configuring ASDF
    
    622
    -presumably happen as part of some initialization script that builds or
    
    623
    -starts your Common Lisp software system.  (For instance, some SBCL users
    
    624
    -used to put it in their '~/.sbclrc'.)
    
    624
    +   You _must_ configure this variable _after_ you load ASDF 3 or later,
    
    625
    +yet _before_ the first time you try to use it.  This loading and
    
    626
    +configuring of ASDF must happen as part of some initialization script:
    
    627
    +typically, either a script you maintain that builds your project, or
    
    628
    +your implementation's initialization script (e.g.  '~/.sbclrc' for
    
    629
    +SBCL).
    
    630
    +
    
    631
    +   Also, if you are using an ancient ASDF 2 or earlier to load ASDF 3 or
    
    632
    +later, then after it loads the ancient ASDF, your script _must_
    
    633
    +configure the central-registry a first time to tell ASDF 1 or 2 where to
    
    634
    +find ASDF 3, then load ASDF 3 with e.g.  '(asdf:operate 'asdf:load-op
    
    635
    +"asdf")', then configure the central-registry again, because ASDF 3 will
    
    636
    +not preserve the central-registry from ASDF 2 when upgrading.  You
    
    637
    +should probably be using the source-registry instead, which will be
    
    638
    +preserved (unless you manually called 'asdf:initialize-source-registry'
    
    639
    +with an argument, in which case you will have to do it again indeed).
    
    640
    +However, if you are using an ancient ASDF 2 or earlier, we _strongly_
    
    641
    +recommend that you should instead upgrade your implementation, or
    
    642
    +overwrite the ancient ASDF installation with a more recent one: *Note
    
    643
    +Replacing your implementation's ASDF::.
    
    625 644
     
    
    626 645
        The 'asdf:*central-registry*' is empty by default in ASDF 2 or ASDF
    
    627 646
     3, but is still supported for compatibility with ASDF 1.  When used, it
    
    ... ... @@ -640,7 +659,8 @@ pathname.(2) The trailing directory name separator is necessary to tell
    640 659
     Lisp that you're discussing a directory rather than a file.  If you
    
    641 660
     leave it out, ASDF is likely to look in '/home/me/src/' instead of
    
    642 661
     '/home/me/src/foo/' as you intended, and fail to find your system
    
    643
    -definition.
    
    662
    +definition.  Modern versions of ASDF will issue an error and offer you
    
    663
    +to remove such entries from the central-registry.
    
    644 664
     
    
    645 665
        Typically there are a lot of '.asd' files, and a common idiom was to
    
    646 666
     put _symbolic links_ to all of one's '.asd' files in a common directory
    
    ... ... @@ -1214,6 +1234,12 @@ File: asdf.info, Node: The defsystem grammar, Next: Other code in .asd files,
    1214 1234
     
    
    1215 1235
          pathname-specifier := pathname | string | symbol
    
    1216 1236
     
    
    1237
    +     version-specifier := string
    
    1238
    +                          | (:read-file-form <pathname-specifier> <form-specifier>?)
    
    1239
    +                          | (:read-file-line <pathname-specifier> <line-specifier>?)
    
    1240
    +     line-specifier := :at integer # base zero
    
    1241
    +     form-specifier := :at [ integer | ( integer+ )]
    
    1242
    +
    
    1217 1243
          method-form := (operation-name qual lambda-list &rest body)
    
    1218 1244
          qual := method qualifier?
    
    1219 1245
     
    
    ... ... @@ -1383,14 +1409,17 @@ happened had the version strings been interpreted as decimal fractions.
    1383 1409
     can be an expression that is resolved to such a string using the
    
    1384 1410
     following trivial domain-specific language: in addition to being a
    
    1385 1411
     literal string, it can be an expression of the form '(:read-file-form
    
    1386
    -<pathname-or-string> :at <access-at-specifier>)', which will be resolved
    
    1387
    -by reading a form in the specified pathname (read as a subpathname of
    
    1388
    -the current system if relative or a unix-namestring).  You may use a
    
    1389
    -'uiop:access-at' specifier with the (optional) ':at' keyword, by default
    
    1390
    -the specifier is '0', meaning the first form is returned; subforms can
    
    1391
    -also be specified, with e.g.  '(1 2 2)' specifying "the third subform
    
    1392
    -(index 2) of the third subform (index 2) of the second form (index 1)"
    
    1393
    -in the file (mind the off-by-one error in the English language).
    
    1412
    +<pathname-or-string> [:at <access-at-specifier]>)', or '(:read-file-line
    
    1413
    +<pathname-or-string> [:at <access-at-specifier]?>)'.  As the name
    
    1414
    +suggests, the former will be resolved by reading a form in the specified
    
    1415
    +pathname (read as a subpathname of the current system if relative or a
    
    1416
    +unix-namestring), and the latter by reading a line.  You may use a
    
    1417
    +'uiop:access-at' specifier with the ':at' keyword, by default the
    
    1418
    +specifier is '0', meaning the first form/line is returned.  For
    
    1419
    +':read-file-form', subforms can also be specified, with e.g.  '(1 2 2)'
    
    1420
    +specifying "the third subform (index 2) of the third subform (index 2)
    
    1421
    +of the second form (index 1)" in the file (mind the off-by-one error in
    
    1422
    +the English language).
    
    1394 1423
     
    
    1395 1424
        System definers are encouraged to use version identifiers of the form
    
    1396 1425
     X.Y.Z for major version, minor version and patch level, where
    
    ... ... @@ -3177,8 +3206,8 @@ speedup will only happen if the implementation-provided ASDF is recent
    3177 3206
     enough (3.1.3.7 or later); it is not enough for a recent ASDF upgrade to
    
    3178 3207
     be present, since the upgrade will itself be found but after the old
    
    3179 3208
     version has scanned the directories without heeding such a cache.  To
    
    3180
    -upgrade the implementation-provided ASDF, use our script
    
    3181
    -'tools/install-asdf.lisp'.
    
    3209
    +upgrade the implementation-provided ASDF, *note Replacing your
    
    3210
    +implementation's ASDF::.
    
    3182 3211
     
    
    3183 3212
     
    
    3184 3213
     File: asdf.info,  Node: Configuration API,  Next: Introspection,  Prev: Caching Results,  Up: Controlling where ASDF searches for systems
    
    ... ... @@ -4866,17 +4895,19 @@ when upgrading from ASDF 2, due to limitations in ASDF 2.
    4866 4895
          ASDF, and XCL is more of a working demo than something you'd use
    
    4867 4896
          seriously anyway.
    
    4868 4897
     
    
    4869
    -   * For the above reasons, your build and startup scripts should load,
    
    4870
    -     configure and upgrade ASDF among the very first things they do, and
    
    4871
    -     ensure that ASDF 3 or later is present indeed, before they start
    
    4872
    -     using ASDF to load anything else.
    
    4873
    -
    
    4874
    -   * Now that all implementations provide ASDF 3.1 or later (since May
    
    4875
    -     2016), the simple solution is just to use code as below in your
    
    4876
    -     setup, and when it fails, upgrade your implementation or replace
    
    4877
    -     its ASDF. (*note Replacing your implementation's ASDF::):
    
    4898
    +   * For the above reasons, your build and startup scripts should load
    
    4899
    +     ASDF 3, configure it, and upgrade it, among the very first things
    
    4900
    +     they do.  They should ensure that only ASDF 3 or later is used
    
    4901
    +     indeed, and error out if ASDF 2 or earlier was used.
    
    4902
    +
    
    4903
    +   * Now that (since May 2016) all maintained implementations (i.e.
    
    4904
    +     having had at least one release since 2014, or a commit on their
    
    4905
    +     public source code repository) provide ASDF 3.1 or later, the
    
    4906
    +     simple solution is just to use code as below in your setup, and
    
    4907
    +     when it fails, upgrade your implementation or replace its ASDF.
    
    4908
    +     (*note Replacing your implementation's ASDF::):
    
    4878 4909
               (require "asdf")
    
    4879
    -          #-asdf3 (error "ASDF 3 or bust")
    
    4910
    +          #-asdf3.1 (error "ASDF 3.1 or bust")
    
    4880 4911
     
    
    4881 4912
        * For scripts that try to use ASDF simply via 'require' at first, and
    
    4882 4913
          make heroic attempts to load it the hard way if at first they don't
    
    ... ... @@ -4887,10 +4918,11 @@ when upgrading from ASDF 2, due to limitations in ASDF 2.
    4887 4918
        * Note that in addition to the pitfalls and constraints above, these
    
    4888 4919
          heroic scripts (should you wish to write or modify one), must take
    
    4889 4920
          care to configure ASDF _twice_.  A first time, right after you load
    
    4890
    -     the old ASDF 2 and before you upgrade to the new ASDF 3, so it may
    
    4891
    -     find where you put ASDF 3.  A second time, because some
    
    4892
    -     implementations can't handle a smooth upgrade to ASDF 3, and lose
    
    4893
    -     configuration as they do.
    
    4921
    +     the old ASDF 2 (or 1!)  and before you upgrade to the new ASDF 3,
    
    4922
    +     so it may find where you put ASDF 3.  A second time, because most
    
    4923
    +     implementations can't handle a smooth upgrade from ASDF 2 to ASDF
    
    4924
    +     3, so ASDF 3 doesn't try (anymore) and loses any configuration from
    
    4925
    +     ASDF 2.
    
    4894 4926
               (ignore-errors (funcall 'require "asdf")) ;; <--- try real hard
    
    4895 4927
               ;; <--- insert heroics here, if that failed to provide ASDF 2 or 3
    
    4896 4928
               ;; <--- insert configuration here, if that succeeded
    
    ... ... @@ -4937,6 +4969,7 @@ File: asdf.info, Node: Issues with installing the proper version of ASDF, Next
    4937 4969
     
    
    4938 4970
     * My Common Lisp implementation comes with an outdated version of ASDF. What to do?::
    
    4939 4971
     * I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?::
    
    4972
    +* After upgrading ASDF, ASDF (and Quicklisp) can't find my systems: After upgrading ASDF.
    
    4940 4973
     
    
    4941 4974
     
    
    4942 4975
     File: asdf.info,  Node: My Common Lisp implementation comes with an outdated version of ASDF. What to do?,  Next: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?,  Prev: Issues with installing the proper version of ASDF,  Up: Issues with installing the proper version of ASDF
    
    ... ... @@ -4954,7 +4987,7 @@ recommend you replace your implementation's ASDF. *Note Replacing your
    4954 4987
     implementation's ASDF::.
    
    4955 4988
     
    
    4956 4989
     
    
    4957
    -File: asdf.info,  Node: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?,  Prev: My Common Lisp implementation comes with an outdated version of ASDF. What to do?,  Up: Issues with installing the proper version of ASDF
    
    4990
    +File: asdf.info,  Node: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?,  Next: After upgrading ASDF,  Prev: My Common Lisp implementation comes with an outdated version of ASDF. What to do?,  Up: Issues with installing the proper version of ASDF
    
    4958 4991
     
    
    4959 4992
     13.4.2 "I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?"
    
    4960 4993
     -------------------------------------------------------------------------------------
    
    ... ... @@ -5022,6 +5055,36 @@ should report upstream and that we will fix ASAP.
    5022 5055
          upgrade to the upstream version.
    
    5023 5056
     
    
    5024 5057
     
    
    5058
    +File: asdf.info,  Node: After upgrading ASDF,  Prev: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?,  Up: Issues with installing the proper version of ASDF
    
    5059
    +
    
    5060
    +13.4.3 After upgrading ASDF, ASDF (and Quicklisp) can't find my systems
    
    5061
    +-----------------------------------------------------------------------
    
    5062
    +
    
    5063
    +When you upgrade the ASDF running in your Lisp image from an ancient
    
    5064
    +ASDF 2 or older to ASDF 3 or newer, then you may have to re-configure
    
    5065
    +ASDF. If your configuration only consists in using the source-registry
    
    5066
    +and output-translations (as it should), and if you are not explicitly
    
    5067
    +calling 'asdf:initialize-source-registry' or
    
    5068
    +'asdf:initialize-output-translations' with a non-nil argument, then ASDF
    
    5069
    +will reconfigure itself.  Otherwise, you will have to configure ASDF 2
    
    5070
    +(or older) to find ASDF 3, then configure ASDF 3.  Notably,
    
    5071
    +*CENTRAL-REGISTRY* is not maintained across upgrades from ASDF 2.  *Note
    
    5072
    +note about ASDF reconfiguration after upgrade:
    
    5073
    +reinitializeASDFAfterUpgrade.
    
    5074
    +
    
    5075
    +   Problems like this may be experienced if one loads Quicklisp (which
    
    5076
    +as of this writing bundles an obsolete ASDF version 2.26), upgrades
    
    5077
    +ASDF, and then tries to load new systems.  The correct solution is to
    
    5078
    +load the most up-to-date ASDF you can, _then_ configure it, _then_ load
    
    5079
    +Quicklisp and any other extension.  Do _not_ try to upgrade from ASDF 2
    
    5080
    +_after_ loading Quicklisp, for it will leave both ASDF and Quicklisp
    
    5081
    +badly misconfigured.  For details see the discussion at the above
    
    5082
    +cross-reference.
    
    5083
    +
    
    5084
    +   Also, if you are experiencing such failures due to Quicklisp shipping
    
    5085
    +an ancient ASDF, please complain to Zach Beane about it.
    
    5086
    +
    
    5087
    +
    
    5025 5088
     File: asdf.info,  Node: Issues with configuring ASDF,  Next: Issues with using and extending ASDF to define systems,  Prev: Issues with installing the proper version of ASDF,  Up: FAQ
    
    5026 5089
     
    
    5027 5090
     13.5 Issues with configuring ASDF
    
    ... ... @@ -5403,24 +5466,17 @@ interested, too.
    5403 5466
          ;; Load the test script support.
    
    5404 5467
          (load "script-support.lisp")
    
    5405 5468
     
    
    5406
    -     ;; Initialize the script support.
    
    5407
    -     ;; This will also change your *package* to asdf-test.
    
    5469
    +     ;; Initialize the script support for interaction.
    
    5470
    +     ;; This will also change your *package* to asdf-test
    
    5471
    +     ;; after frobbing the asdf-test package to make it usable.
    
    5408 5472
          ;; NB: this function is also available from package cl-user,
    
    5409 5473
          ;; and also available with the shorter name da in both packages.
    
    5410
    -     (asdf-test::debug-asdf)
    
    5411
    -
    
    5412
    -     ;; In case you modified ASDF since you last tested it,
    
    5413
    -     ;; you need to update asdf.lisp itself by evaluating 'make' in a shell,
    
    5414
    -     ;; or (require "asdf") (asdf:load-system :asdf) in another CL REPL,
    
    5415
    -     ;; if not done in this REPL above.
    
    5416
    -     ;; *Then*, in this REPL, you need to evaluate:
    
    5417
    -     ;(asdf-test::compile-load-asdf)
    
    5474
    +     (asdf-test:debug-asdf)
    
    5418 5475
     
    
    5419 5476
          ;; Now, you may experiment with test code from a .script file.
    
    5420 5477
          ;; See the instructions given at the end of your failing test
    
    5421 5478
          ;; to identify which form is needed, e.g.
    
    5422
    -     (frob-packages)
    
    5423
    -     (asdf::with-asdf-cache () (load "test-utilities.script"))
    
    5479
    +     (run-test-script "test-utilities.script")
    
    5424 5480
     
    
    5425 5481
     
    
    5426 5482
     File: asdf.info,  Node: Ongoing Work,  Next: Bibliography,  Prev: FAQ,  Up: Top
    
    ... ... @@ -5511,34 +5567,34 @@ Concept Index
    5511 5567
     * :asdf2:                                Introduction.        (line   6)
    
    5512 5568
     * :asdf3:                                Introduction.        (line   6)
    
    5513 5569
     * :build-operation:                      The defsystem grammar.
    
    5514
    -                                                              (line 128)
    
    5570
    +                                                              (line 134)
    
    5515 5571
     * :compile-check:                        Controlling file compilation.
    
    5516 5572
                                                                   (line   6)
    
    5517 5573
     * :default-registry source config directive: Configuration DSL.
    
    5518 5574
                                                                   (line   6)
    
    5519 5575
     * :defsystem-depends-on:                 The defsystem grammar.
    
    5520
    -                                                              (line 120)
    
    5576
    +                                                              (line 126)
    
    5521 5577
     * :directory source config directive:    Configuration DSL.   (line   6)
    
    5522 5578
     * :exclude source config directive:      Configuration DSL.   (line   6)
    
    5523 5579
     * :feature dependencies:                 The defsystem grammar.
    
    5524
    -                                                              (line 270)
    
    5580
    +                                                              (line 279)
    
    5525 5581
     * :if-feature component option:          The defsystem grammar.
    
    5526
    -                                                              (line 390)
    
    5582
    +                                                              (line 399)
    
    5527 5583
     * :ignore-invalid-entries source config directive: Configuration DSL.
    
    5528 5584
                                                                   (line   6)
    
    5529 5585
     * :include source config directive:      Configuration DSL.   (line   6)
    
    5530 5586
     * :inherit-configuration source config directive: Configuration DSL.
    
    5531 5587
                                                                   (line   6)
    
    5532 5588
     * :require dependencies:                 The defsystem grammar.
    
    5533
    -                                                              (line 260)
    
    5589
    +                                                              (line 269)
    
    5534 5590
     * :tree source config directive:         Configuration DSL.   (line   6)
    
    5535 5591
     * :version:                              The defsystem form.  (line  68)
    
    5536 5592
     * :version <1>:                          The defsystem grammar.
    
    5537
    -                                                              (line 229)
    
    5593
    +                                                              (line 235)
    
    5538 5594
     * :version <2>:                          Common attributes of components.
    
    5539 5595
                                                                   (line  23)
    
    5540 5596
     * :weakly-depends-on:                    The defsystem grammar.
    
    5541
    -                                                              (line 140)
    
    5597
    +                                                              (line 146)
    
    5542 5598
     * also-exclude source config directive:  Configuration DSL.   (line   6)
    
    5543 5599
     * around-compile keyword:                Controlling file compilation.
    
    5544 5600
                                                                   (line   6)
    
    ... ... @@ -5579,23 +5635,25 @@ Concept Index
    5579 5635
     * launchpad:                             Where do I report a bug?.
    
    5580 5636
                                                                   (line   6)
    
    5581 5637
     * logical pathnames:                     The defsystem grammar.
    
    5582
    -                                                              (line 289)
    
    5638
    +                                                              (line 298)
    
    5583 5639
     * mailing list:                          Mailing list.        (line   6)
    
    5584 5640
     * operation:                             Operations.          (line   6)
    
    5585 5641
     * pathname specifiers:                   The defsystem grammar.
    
    5586
    -                                                              (line 162)
    
    5642
    +                                                              (line 168)
    
    5587 5643
     * Primary system name:                   Components.          (line  70)
    
    5644
    +* Quicklisp:                             After upgrading ASDF.
    
    5645
    +                                                              (line   6)
    
    5588 5646
     * readtables:                            How do I work with readtables?.
    
    5589 5647
                                                                   (line   6)
    
    5590 5648
     * serial dependencies:                   The defsystem grammar.
    
    5591
    -                                                              (line 335)
    
    5649
    +                                                              (line 344)
    
    5592 5650
     * system:                                Components.          (line   6)
    
    5593 5651
     * system designator:                     Components.          (line   6)
    
    5594 5652
     * System names:                          Components.          (line  70)
    
    5595 5653
     * Testing for ASDF:                      Introduction.        (line   6)
    
    5596 5654
     * tree source config directive:          Configuration DSL.   (line   6)
    
    5597 5655
     * version specifiers:                    The defsystem grammar.
    
    5598
    -                                                              (line 229)
    
    5656
    +                                                              (line 235)
    
    5599 5657
     
    
    5600 5658
     
    
    5601 5659
     File: asdf.info,  Node: Function and Class Index,  Next: Variable Index,  Prev: Concept Index,  Up: Top
    
    ... ... @@ -5776,6 +5834,8 @@ Variable Index
    5776 5834