<html lang='en'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<title>
GitLab
</title>
</meta>
</head>
<style>
  img {
    max-width: 100%;
    height: auto;
  }
  p.details {
    font-style:italic;
    color:#777
  }
  .footer p {
    font-size:small;
    color:#777
  }
  pre.commit-message {
    white-space: pre-wrap;
  }
  .file-stats a {
    text-decoration: none;
  }
  .file-stats .new-file {
    color: #090;
  }
  .file-stats .deleted-file {
    color: #B00;
  }
</style>
<body>
<div class='content'>
<h3>
Raymond Toy pushed to branch master
at <a href="https://gitlab.common-lisp.net/cmucl/cmucl">cmucl / cmucl</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/184a5a0de32e47ce88ac2dfee1070090e1c98c5c">184a5a0d</a></strong>
<div>
<span>by Raymond Toy</span>
<i>at 2016-03-26T07:55:18-07:00</i>
</div>
<pre class='commit-message'>Update to asdf 3.1.7.</pre>
</li>
</ul>
<h4>4 changed files:</h4>
<ul>
<li class='file-stats'>
<a href='#diff-0'>
src/contrib/asdf/asdf.lisp
</a>
</li>
<li class='file-stats'>
<a href='#diff-1'>
src/contrib/asdf/doc/asdf.html
</a>
</li>
<li class='file-stats'>
<a href='#diff-2'>
src/contrib/asdf/doc/asdf.info
</a>
</li>
<li class='file-stats'>
<a href='#diff-3'>
src/contrib/asdf/doc/asdf.pdf
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id='diff-0'>
<a href='https://gitlab.common-lisp.net/cmucl/cmucl/commit/184a5a0de32e47ce88ac2dfee1070090e1c98c5c#diff-0'>
<strong>
src/contrib/asdf/asdf.lisp
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/src/contrib/asdf/asdf.lisp
</span><span style="color: #000000;background-color: #ddffdd">+++ b/src/contrib/asdf/asdf.lisp
</span><span style="color: #aaaaaa">@@ -1,5 +1,5 @@
</span> ;;; -*- mode: Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*-
<span style="color: #000000;background-color: #ffdddd">-;;; This is ASDF 3.1.6.9: Another System Definition Facility.
</span><span style="color: #000000;background-color: #ddffdd">+;;; This is ASDF 3.1.7: Another System Definition Facility.
</span> ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
<span style="color: #aaaaaa">@@ -3762,7 +3762,7 @@ Otherwise, using WRITE-SEQUENCE using a buffer of size BUFFER-SIZE."
</span>                  (when eof (return)))
           (loop
             :with buffer-size = (or buffer-size 8192)
<span style="color: #000000;background-color: #ffdddd">-            :for buffer = (make-array (list buffer-size) :element-type (or element-type 'character))
</span><span style="color: #000000;background-color: #ddffdd">+            :with buffer = (make-array (list buffer-size) :element-type (or element-type 'character))
</span>             :for end = (read-sequence buffer input)
             :until (zerop end)
             :do (write-sequence buffer output :end end)
<span style="color: #aaaaaa">@@ -6138,25 +6138,26 @@ possibly in a different process. Otherwise just call THUNK."
</span>     "This function provides a portable wrapper around COMPILE-FILE.
 It ensures that the OUTPUT-FILE value is only returned and
 the file only actually created if the compilation was successful,
<span style="color: #000000;background-color: #ffdddd">-even though your implementation may not do that, and including
-an optional call to an user-provided consistency check function COMPILE-CHECK;
</span><span style="color: #000000;background-color: #ddffdd">+even though your implementation may not do that. It also checks an optional
+user-provided consistency function COMPILE-CHECK to determine success;
</span> it will call this function if not NIL at the end of the compilation
 with the arguments sent to COMPILE-FILE*, except with :OUTPUT-FILE TMP-FILE
 where TMP-FILE is the name of a temporary output-file.
 It also checks two flags (with legacy british spelling from ASDF1),
 *COMPILE-FILE-FAILURE-BEHAVIOUR* and *COMPILE-FILE-WARNINGS-BEHAVIOUR*
 with appropriate implementation-dependent defaults,
<span style="color: #000000;background-color: #ffdddd">-and if a failure (respectively warnings) are reported by COMPILE-FILE
-with consider it an error unless the respective behaviour flag
</span><span style="color: #000000;background-color: #ddffdd">+and if a failure (respectively warnings) are reported by COMPILE-FILE,
+it will consider that an error unless the respective behaviour flag
</span> is one of :SUCCESS :WARN :IGNORE.
 If WARNINGS-FILE is defined, deferred warnings are saved to that file.
 On ECL or MKCL, it creates both the linkable object and loadable fasl files.
 On implementations that erroneously do not recognize standard keyword arguments,
 it will filter them appropriately."
<span style="color: #000000;background-color: #ffdddd">-    #+(or clasp ecl) (when (and object-file (equal (compile-file-type) (pathname object-file)))
-            (format t "Whoa, some funky ASDF upgrade switched ~S calling convention for ~S and ~S~%"
-                    'compile-file* output-file object-file)
-            (rotatef output-file object-file))
</span><span style="color: #000000;background-color: #ddffdd">+    #+(or clasp ecl)
+    (when (and object-file (equal (compile-file-type) (pathname object-file)))
+      (format t "Whoa, some funky ASDF upgrade switched ~S calling convention for ~S and ~S~%"
+              'compile-file* output-file object-file)
+      (rotatef output-file object-file))
</span>     (let* ((keywords (remove-plist-keys
                       `(:output-file :compile-check :warnings-file
                                      #+clisp :lib-file #+(or clasp ecl mkcl) :object-file) keys))
<span style="color: #aaaaaa">@@ -6167,7 +6168,7 @@ it will filter them appropriately."
</span>            (object-file
              (unless (use-ecl-byte-compiler-p)
                (or object-file
<span style="color: #000000;background-color: #ffdddd">-                   #+ecl(compile-file-pathname output-file :type :object)
</span><span style="color: #000000;background-color: #ddffdd">+                   #+ecl (compile-file-pathname output-file :type :object)
</span>                    #+clasp (compile-file-pathname output-file :output-type :object))))
            #+mkcl
            (object-file
<span style="color: #aaaaaa">@@ -6845,7 +6846,7 @@ previously-loaded version of ASDF."
</span>          ;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5.
          ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
          ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
<span style="color: #000000;background-color: #ffdddd">-         (asdf-version "3.1.6.9")
</span><span style="color: #000000;background-color: #ddffdd">+         (asdf-version "3.1.7")
</span>          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
<span style="color: #aaaaaa">@@ -8363,6 +8364,7 @@ The class needs to be updated for ASDF 3.1 and specify appropriate propagation m
</span> ;;;; Done performing
 (with-upgradability ()
   (defgeneric component-operation-time (operation component)) ;; ASDF4: hide it behind plan-action-stamp
<span style="color: #000000;background-color: #ddffdd">+  (defgeneric (setf component-operation-time) (time operation component))
</span>   (define-convenience-action-methods component-operation-time (operation component))
 
   (defgeneric mark-operation-done (operation component)) ;; ASDF4: hide it behind (setf plan-action-stamp)
<span style="color: #aaaaaa">@@ -9798,15 +9800,22 @@ after having found a .asd file? True by default.")
</span>   (defun collect-sub*directories-asd-files
       (directory &key (exclude *default-source-registry-exclusions*) collect
                    (recurse-beyond-asds *recurse-beyond-asds*) ignore-cache)
<span style="color: #000000;background-color: #ffdddd">-    (collect-sub*directories
-     directory
-     #'(lambda (dir)
-         (unless (and (not ignore-cache) (process-source-registry-cache directory collect))
-           (let ((asds (collect-asds-in-directory dir collect)))
-             (or recurse-beyond-asds (not asds)))))
-     #'(lambda (x)
-         (not (member (car (last (pathname-directory x))) exclude :test #'equal)))
-     (constantly nil)))
</span><span style="color: #000000;background-color: #ddffdd">+    (let ((visited (make-hash-table :test 'equalp)))
+      (collect-sub*directories
+       directory
+       #'(lambda (dir)
+           (unless (and (not ignore-cache) (process-source-registry-cache directory collect))
+             (let ((asds (collect-asds-in-directory dir collect)))
+               (or recurse-beyond-asds (not asds)))))
+       #'(lambda (x)                    ; x will be a directory pathname
+           (and
+            (not (member (car (last (pathname-directory x))) exclude :test #'equal))
+            (flet ((pathname-key (x)
+                     (namestring (truename* x))))
+              (let ((visitedp (gethash (pathname-key x) visited)))
+                (if visitedp nil
+                    (setf (gethash (pathname-key x) visited) t))))))
+       (constantly nil))))
</span> 
   (defun validate-source-registry-directive (directive)
     (or (member directive '(:default-registry))
<span style="color: #aaaaaa">@@ -10592,10 +10601,10 @@ for all the linkable object files associated with the system or its dependencies
</span>                         (format nil "~A~@[~A~]" (component-name c) (slot-value o 'name-suffix))))
               (type (bundle-pathname-type bundle-type)))
           (values (list (subpathname (component-pathname c) name :type type))
<span style="color: #000000;background-color: #ffdddd">-                  (eq (type-of o) (coerce-class (component-build-operation c)
-                                                :package :asdf/interface
-                                                :super 'operation
-                                                :error nil)))))))
</span><span style="color: #000000;background-color: #ddffdd">+                  (eq (class-of o) (coerce-class (component-build-operation c)
+                                                 :package :asdf/interface
+                                                 :super 'operation
+                                                 :error nil)))))))
</span> 
   (defmethod output-files ((o bundle-op) (c system))
     (bundle-output-files o c))
</code></pre>

<br>
</li>
<li id='diff-1'>
<a href='https://gitlab.common-lisp.net/cmucl/cmucl/commit/184a5a0de32e47ce88ac2dfee1070090e1c98c5c#diff-1'>
<strong>
src/contrib/asdf/doc/asdf.html
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/src/contrib/asdf/doc/asdf.html
</span><span style="color: #000000;background-color: #ddffdd">+++ b/src/contrib/asdf/doc/asdf.html
</span><span style="color: #aaaaaa">@@ -31,7 +31,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
</span> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  -->
<span style="color: #000000;background-color: #ffdddd">-<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
</span><span style="color: #000000;background-color: #ddffdd">+<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
</span> <head>
 <title>ASDF Manual</title>
 
<span style="color: #aaaaaa">@@ -48,16 +48,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
</span> <style type="text/css">
 <!--
 a.summary-letter {text-decoration: none}
<span style="color: #000000;background-color: #ddffdd">+blockquote.indentedblock {margin-right: 0em}
+blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
</span> blockquote.smallquotation {font-size: smaller}
 div.display {margin-left: 3.2em}
 div.example {margin-left: 3.2em}
<span style="color: #000000;background-color: #ffdddd">-div.indentedblock {margin-left: 3.2em}
</span> div.lisp {margin-left: 3.2em}
 div.smalldisplay {margin-left: 3.2em}
 div.smallexample {margin-left: 3.2em}
<span style="color: #000000;background-color: #ffdddd">-div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
</span> div.smalllisp {margin-left: 3.2em}
<span style="color: #000000;background-color: #ffdddd">-kbd {font-style:oblique}
</span><span style="color: #000000;background-color: #ddffdd">+kbd {font-style: oblique}
</span> pre.display {font-family: inherit}
 pre.format {font-family: inherit}
 pre.menu-comment {font-family: serif}
<span style="color: #aaaaaa">@@ -66,10 +66,9 @@ pre.smalldisplay {font-family: inherit; font-size: smaller}
</span> pre.smallexample {font-size: smaller}
 pre.smallformat {font-family: inherit; font-size: smaller}
 pre.smalllisp {font-size: smaller}
<span style="color: #000000;background-color: #ffdddd">-span.nocodebreak {white-space:nowrap}
-span.nolinebreak {white-space:nowrap}
-span.roman {font-family:serif; font-weight:normal}
-span.sansserif {font-family:sans-serif; font-weight:normal}
</span><span style="color: #000000;background-color: #ddffdd">+span.nolinebreak {white-space: nowrap}
+span.roman {font-family: initial; font-weight: normal}
+span.sansserif {font-family: sans-serif; font-weight: normal}
</span> ul.no-bullet {list-style: none}
 -->
 </style>
<span style="color: #aaaaaa">@@ -77,7 +76,7 @@ ul.no-bullet {list-style: none}
</span> 
 </head>
 
<span style="color: #000000;background-color: #ffdddd">-<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
</span><span style="color: #000000;background-color: #ddffdd">+<body lang="en">
</span> <h1 class="settitle" align="center">ASDF Manual</h1>
 
 
<span style="color: #aaaaaa">@@ -123,16 +122,17 @@ ul.no-bullet {list-style: none}
</span>       <li><a name="toc-Component-types" href="#Component-types">6.3.2 Component types</a></li>
       <li><a name="toc-System-class-names" href="#System-class-names">6.3.3 System class names</a></li>
       <li><a name="toc-Defsystem-depends-on" href="#Defsystem-depends-on">6.3.4 Defsystem depends on</a></li>
<span style="color: #000000;background-color: #ffdddd">-      <li><a name="toc-Weakly-depends-on" href="#Weakly-depends-on">6.3.5 Weakly depends on</a></li>
-      <li><a name="toc-Pathname-specifiers" href="#Pathname-specifiers">6.3.6 Pathname specifiers</a></li>
-      <li><a name="toc-Version-specifiers" href="#Version-specifiers">6.3.7 Version specifiers</a></li>
-      <li><a name="toc-Require" href="#Require">6.3.8 Require</a></li>
-      <li><a name="toc-Using-logical-pathnames" href="#Using-logical-pathnames">6.3.9 Using logical pathnames</a></li>
-      <li><a name="toc-Serial-dependencies" href="#Serial-dependencies">6.3.10 Serial dependencies</a></li>
-      <li><a name="toc-Source-location-_0028_003apathname_0029" href="#Source-location-_0028_003apathname_0029">6.3.11 Source location (<code>:pathname</code>)</a></li>
-      <li><a name="toc-if_002dfeature-option" href="#if_002dfeature-option">6.3.12 if-feature option</a></li>
-      <li><a name="toc-if_002dcomponent_002ddep_002dfails-option" href="#if_002dcomponent_002ddep_002dfails-option">6.3.13 if-component-dep-fails option</a></li>
-      <li><a name="toc-feature-requirement" href="#feature-requirement">6.3.14 feature requirement</a></li>
</span><span style="color: #000000;background-color: #ddffdd">+      <li><a name="toc-Build_002doperation" href="#Build_002doperation">6.3.5 Build-operation</a></li>
+      <li><a name="toc-Weakly-depends-on" href="#Weakly-depends-on">6.3.6 Weakly depends on</a></li>
+      <li><a name="toc-Pathname-specifiers" href="#Pathname-specifiers">6.3.7 Pathname specifiers</a></li>
+      <li><a name="toc-Version-specifiers" href="#Version-specifiers">6.3.8 Version specifiers</a></li>
+      <li><a name="toc-Require" href="#Require">6.3.9 Require</a></li>
+      <li><a name="toc-Using-logical-pathnames" href="#Using-logical-pathnames">6.3.10 Using logical pathnames</a></li>
+      <li><a name="toc-Serial-dependencies" href="#Serial-dependencies">6.3.11 Serial dependencies</a></li>
+      <li><a name="toc-Source-location-_0028_003apathname_0029" href="#Source-location-_0028_003apathname_0029">6.3.12 Source location (<code>:pathname</code>)</a></li>
+      <li><a name="toc-if_002dfeature-option" href="#if_002dfeature-option">6.3.13 if-feature option</a></li>
+      <li><a name="toc-if_002dcomponent_002ddep_002dfails-option" href="#if_002dcomponent_002ddep_002dfails-option">6.3.14 if-component-dep-fails option</a></li>
+      <li><a name="toc-feature-requirement" href="#feature-requirement">6.3.15 feature requirement</a></li>
</span>     </ul></li>
     <li><a name="toc-Other-code-in-_002easd-files-1" href="#Other-code-in-_002easd-files">6.4 Other code in .asd files</a></li>
     <li><a name="toc-The-package_002dinferred_002dsystem-extension-1" href="#The-package_002dinferred_002dsystem-extension">6.5 The package-inferred-system extension</a></li>
<span style="color: #aaaaaa">@@ -254,6 +254,7 @@ ul.no-bullet {list-style: none}
</span>         <li><a name="toc-How-should-my-system-use-a-readtable-exported-by-another-system_003f" href="#How-should-my-system-use-a-readtable-exported-by-another-system_003f">13.6.7.1 How should my system use a readtable exported by another system?</a></li>
         <li><a name="toc-How-should-my-library-make-a-readtable-available-to-other-systems_003f" href="#How-should-my-library-make-a-readtable-available-to-other-systems_003f">13.6.7.2 How should my library make a readtable available to other systems?</a></li>
       </ul></li>
<span style="color: #000000;background-color: #ddffdd">+      <li><a name="toc-How-can-I-capture-ASDF_0027s-output_003f-1" href="#How-can-I-capture-ASDF_0027s-output_003f">13.6.8 How can I capture ASDF&rsquo;s output?</a></li>
</span>     </ul></li>
     <li><a name="toc-ASDF-development-FAQs-1" href="#ASDF-development-FAQs">13.7 ASDF development FAQs</a>
     <ul class="no-bullet">
<span style="color: #aaaaaa">@@ -274,7 +275,7 @@ ul.no-bullet {list-style: none}
</span> <a name="Top"></a>
 <a name="ASDF_003a-Another-System-Definition-Facility"></a>
 <h1 class="top">ASDF: Another System Definition Facility</h1>
<span style="color: #000000;background-color: #ffdddd">-<p>Manual for Version 3.1.6.9
</span><span style="color: #000000;background-color: #ddffdd">+<p>Manual for Version 3.1.6.14
</span> </p>
 
 <p>This manual describes ASDF, a system definition facility
<span style="color: #aaaaaa">@@ -850,20 +851,23 @@ or silently convert lowercase to uppercase (lpns).
</span> <a name="Convenience-Functions-1"></a>
 <h3 class="section">5.2 Convenience Functions</h3>
 
<span style="color: #000000;background-color: #ffdddd">-<a name="index-load_002dsystem"></a>
-<a name="index-compile_002dsystem"></a>
-<a name="index-test_002dsystem"></a>
-<a name="index-require_002dsystem"></a>
-<a name="index-make"></a>
</span> 
 <p>ASDF provides three commands for the most common system operations:
 <code>load-system</code>, <code>compile-system</code>, and <code>test-system</code>.
<span style="color: #000000;background-color: #ffdddd">-It also provides <code>require-system</code>, a version of <code>load-system</code>
-that skips trying to update systems that are already loaded.
-And it provides <code>make</code>, a function that uses whichever operation
-was specified by the author of the target system,
-which by default behaves like <code>load-system</code>.
</span> </p>
<span style="color: #000000;background-color: #ddffdd">+<p>ASDF also provides <code>require-system</code>, a variant of <code>load-system</code>
+that skips loading systems that are already loaded.  This is sometimes
+useful, for example, in order to avoid re-loading libraries that come
+pre-loaded into your  lisp implementation.
+</p>
+<p>ASDF also provides <code>make</code>, a way of allowing system developers to
+choose a default operation for their systems.  For example, a developer
+who has created a system intended to format a specific document, might
+make document-formatting the default operation invoked by <code>make</code>,
+instead of loading.  If the system developer doesn&rsquo;t specify in the
+system definition, the default operation will be loading.
+</p>
+
</span> 
 <a name="index-operate"></a>
 <a name="index-oos"></a>
<span style="color: #aaaaaa">@@ -877,49 +881,89 @@ which stands for operate-on-system, a name inherited from <code>mk-defsystem</co
</span> You&rsquo;ll use <code>operate</code> whenever you want to do something beyond
 compiling, loading and testing.
 </p>
<span style="color: #000000;background-color: #ffdddd">-<p>Note that output from ASDF and ASDF extensions are sent
-to the CL stream <code>*standard-output*</code>,
-so rebinding that stream around calls to <code>asdf:operate</code>
-should redirect all output from ASDF operations.
-</p>
</span> 
 
<span style="color: #000000;background-color: #ffdddd">-<a name="index-load_002dsystem-1"></a>
</span> <a name="index-_002aload_002dsystem_002doperation_002a"></a>
 <a name="index-already_002dloaded_002dsystems"></a>
<span style="color: #000000;background-color: #ffdddd">-<a name="index-require_002dsystem-1"></a>
-<p><code>load-system</code> applies <code>operate</code> with the operation from
</span><span style="color: #000000;background-color: #ddffdd">+
+<dl>
+<dt><a name="index-load_002dsystem"></a>Function: <strong>load-system</strong> <em>system &amp;rest keys &amp;key force force-not verbose version &amp;allow-other-keys</em></dt>
+<dd><p>Apply <code>operate</code> with the operation from
</span> <code>*load-system-operation*</code>
<span style="color: #000000;background-color: #ffdddd">-the system, and any provided keyword arguments.
</span><span style="color: #000000;background-color: #ddffdd">+the <var>system</var>, and any provided keyword arguments.
</span> <code>*load-system-operation*</code> by default is <code>load-op</code>;
<span style="color: #000000;background-color: #ffdddd">-it would be <code>load-bundle-op</code> by default on ECL, if only an implementation bug were fixed.
-</p>
-<p><code>require-system</code> skips any update to systems that have already been loaded,
</span><span style="color: #000000;background-color: #ddffdd">+it would be <code>load-bundle-op</code> by default on ECL,
+if only an implementation bug were fixed.
+Calling <code>load-system</code> is the regular, recommended way
+to load a system into the current image.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-compile_002dsystem"></a>Function: <strong>compile-system</strong> <em>system &amp;rest keys &amp;key force force-not verbose version &amp;allow-other-keys</em></dt>
+<dd><p>Apply <code>operate</code> with the operation <code>compile-op</code>,
+the <var>system</var>, and any provided keyword arguments.
+This will make sure all the files in the system are compiled,
+but not necessarily load any of them in the current image;
+on most systems, it will <em>not</em> load all compiled files in the current image.
+This function exists for symmetry with <code>load-system</code> but is not recommended
+unless you are writing build scripts and know what you&rsquo;re doing.
+But then, you might be interested in <code>program-op</code> rather than <code>compile-op</code>.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-test_002dsystem"></a>Function: <strong>test-system</strong> <em>system &amp;rest keys &amp;key force force-not verbose version &amp;allow-other-keys</em></dt>
+<dd><p>Apply <code>operate</code> with the operation <code>test-op</code>,
+the <var>system</var>, and any provided keyword arguments.
+See <a href="#test_002dop">test-op</a>.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-make"></a>Function: <strong>make</strong> <em>system &amp;rest keys &amp;key &amp;allow-other-keys</em></dt>
+<dd><p>Do &ldquo;The Right Thing&rdquo; with your system.
+Starting with ASDF 3.1, this function <code>make</code> is also available.
+The default behaviour is to load the system as if by <code>load-system</code>;
+but system authors can override this default in their system definition
+they may specify an alternate operation as the intended use of their system,
+with a <code>:build-operation</code> option in the <code>defsystem</code> form
+(see <a href="#The-defsystem-grammar">build-operation</a>),
+and an intended output pathname for that operation with
+<code>:build-pathname</code>.
+This function is experimental and largely untested.  Use at your own risk.
+</p></dd></dl>
+<a name="index-build_002doperation"></a>
+
+<dl>
+<dt><a name="index-require_002dsystem"></a>Function: <strong>require-system</strong> <em>system &amp;rest keys &amp;key &amp;allow-other-keys</em></dt>
+<dd><p><code>require-system</code> skips any update to systems that have already been loaded,
</span> in the spirit of <code>cl:require</code>.
<span style="color: #000000;background-color: #ffdddd">-It does it by calling <code>load-system</code> with a keyword option excluding already loaded systems.<a name="DOCF8" href="#FOOT8"><sup>8</sup></a>.
</span><span style="color: #000000;background-color: #ddffdd">+It does it by calling <code>load-system</code> with a keyword option
+excluding already loaded systems.<a name="DOCF8" href="#FOOT8"><sup>8</sup></a>.
</span> On actively maintained free software implementations
 (namely recent versions of ABCL, Clozure CL, CMUCL, ECL, GNU CLISP, MKCL and SBCL),
 once ASDF itself is loaded, <code>cl:require</code> too can load ASDF systems,
 by falling back on <code>require-system</code>
 for module names not recognized by the implementation.
<span style="color: #000000;background-color: #ddffdd">+(Note however that <code>require-system</code> does <em>not</em> fall back on <code>cl:require</code>;
+that would introduce an &ldquo;interesting&rdquo; potential infinite loop to break somehow.)
</span> </p>
<span style="color: #000000;background-color: #ffdddd">-<p>Note that <code>cl:require</code> and <code>require-system</code> are appropriate to load code
</span><span style="color: #000000;background-color: #ddffdd">+<p><code>cl:require</code> and <code>require-system</code> are appropriate to load code
</span> that is not being modified during the current programming session.
<span style="color: #000000;background-color: #ffdddd">-This notably includes the implementation-provided extension modules that <code>cl:require</code> can load.
-This also includes any number of ASDF systems that the user isn&rsquo;t either developing or debugging,
-for which a previously installed version is deemed to be satisfactory.
-<code>require-system</code> and through it <code>cl:require</code> can load these systems without any problem.
</span><span style="color: #000000;background-color: #ddffdd">+<code>cl:require</code> will notably load the implementation-provided extension modules;
+<code>require-system</code> won&rsquo;t, unless they are also defined as systems somehow,
+which SBCL and MKCL do.
+<code>require-system</code> may also be used to load any number of ASDF systems
+that the user isn&rsquo;t either developing or debugging,
+for which a previously installed version is deemed to be satisfactory;
+<code>cl:require</code> on the above-mentioned implementations will delegate to <code>require-system</code>
+and may load them as well.
</span> But for code that you are actively developing, debugging, or otherwise modifying,
 you should use <code>load-system</code>, so ASDF will pick on your modifications
<span style="color: #000000;background-color: #ffdddd">-and transitively re-build the modified files and everything that depends on them.
-</p>
-<p>Finally, starting with ASDF 3.1, a function <code>make</code> is also available,
-that does &ldquo;The Right Thing&rdquo; with your system.
-The default behaviour is to load the system as if by <code>load-system</code>;
-but instead of this default, system authors can specify
-the intended use of their system by specifying their desired operation
-with a <code>:build-operation</code> argument in the system definition.
-</p>
</span><span style="color: #000000;background-color: #ddffdd">+and transitively re-build the modified files and everything that depends on them
+(that the requested <var>system</var> itself depends on &mdash;
+ASDF itself never builds anything unless
+it&rsquo;s an explicitly requested system or the dependencies thereof).
+</p></dd></dl>
+
</span> 
 <hr>
 <a name="Moving-on"></a>
<span style="color: #aaaaaa">@@ -1202,6 +1246,7 @@ Presumably, the 4th form looks like <code>(defparameter *foo-version* &quot;5.6.
</span> system-option := :defsystem-depends-on system-list
                  | :weakly-depends-on <var>system-list</var>
                  | :class class-name (see discussion below)
<span style="color: #000000;background-color: #ddffdd">+                 | :build-operation <var>operation-name</var>
</span>                  | system-option
                  | module-option
                  | option
<span style="color: #aaaaaa">@@ -1323,8 +1368,21 @@ must be loaded <em>before</em> the system definition is processed.
</span> Typically this is used to load an ASDF extension that is used in the
 system definition.
 </p>
<span style="color: #000000;background-color: #ddffdd">+<a name="Build_002doperation"></a>
+<h4 class="subsection">6.3.5 Build-operation</h4>
+<a name="index-_003abuild_002doperation"></a>
+
+<p>The <code>:build-operation</code> option to <code>defsystem</code> allows the
+programmer to specify an operation that will be applied, in place of
+<code>load-op</code> when <code>make</code> (see <a href="#Convenience-Functions">make</a>)
+is run on the system.    The option
+value should be the name of an operation.  E.g., <code>:build-operation doc-op</code>
+</p>
+<p>This feature is
+experimental and largely untested.  Use at your own risk.
+</p>
</span> <a name="Weakly-depends-on"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.5 Weakly depends on</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.6 Weakly depends on</h4>
</span> <a name="index-_003aweakly_002ddepends_002don"></a>
 
 <p>We do <em>NOT</em> recommend you use this feature.
<span style="color: #aaaaaa">@@ -1354,7 +1412,7 @@ this anomalous behaviour may be removed without warning.
</span> 
 
 <a name="Pathname-specifiers"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.6 Pathname specifiers</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.7 Pathname specifiers</h4>
</span> <a name="index-pathname-specifiers"></a>
 
 <p>A pathname specifier (<code>pathname-specifier</code>)
<span style="color: #aaaaaa">@@ -1434,7 +1492,7 @@ on the other hand, you can circumvent the file type that would otherwise
</span> be forced upon you if you were specifying a string.
 </p>
 <a name="Version-specifiers"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.7 Version specifiers</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.8 Version specifiers</h4>
</span> <a name="index-version-specifiers"></a>
 <a name="index-_003aversion-1"></a>
 
<span style="color: #aaaaaa">@@ -1469,7 +1527,7 @@ where significant API incompatibilities are signaled by an increased major numbe
</span> <p>See <a href="#Common-attributes-of-components">Common attributes of components</a>.
 </p>
 <a name="Require"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.8 Require</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.9 Require</h4>
</span> <a name="index-_003arequire-dependencies"></a>
 
 <p>Use the implementation&rsquo;s own <code>require</code> to load the <var>module-name</var>.
<span style="color: #aaaaaa">@@ -1481,7 +1539,7 @@ See <a href="#if_002dfeature_002doption">if-feature-option</a>.
</span> </p>
 
 <a name="Using-logical-pathnames"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.9 Using logical pathnames</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.10 Using logical pathnames</h4>
</span> <a name="index-logical-pathnames"></a>
 
 <p>We do not generally recommend the use of logical pathnames,
<span style="color: #aaaaaa">@@ -1537,7 +1595,7 @@ underscores, dots or CamelCase in pathnames.
</span> </p>
 
 <a name="Serial-dependencies"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.10 Serial dependencies</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.11 Serial dependencies</h4>
</span> <a name="index-serial-dependencies"></a>
 
 <p>If the <code>:serial t</code> option is specified for a module,
<span style="color: #aaaaaa">@@ -1560,7 +1618,7 @@ This is done as if by <code>:depends-on</code>.
</span> 
 
 <a name="Source-location-_0028_003apathname_0029"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.11 Source location (<code>:pathname</code>)</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.12 Source location (<code>:pathname</code>)</h4>
</span> 
 <p>The <code>:pathname</code> option is optional in all cases for systems
 defined via <code>defsystem</code>, and generally is unnecessary.  In the
<span style="color: #aaaaaa">@@ -1606,7 +1664,7 @@ from within an editor without clobbering its source location)
</span> </li></ul>
 
 <a name="if_002dfeature-option"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.12 if-feature option</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.13 if-feature option</h4>
</span> <a name="index-_003aif_002dfeature-component-option"></a>
 <a name="if_002dfeature_002doption"></a>
 <p>This option allows you to specify a feature expression to be evaluated
<span style="color: #aaaaaa">@@ -1632,7 +1690,7 @@ been performed.
</span> See <a href="#required_002dfeatures">Required features</a>.
 </p>
 <a name="if_002dcomponent_002ddep_002dfails-option"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.13 if-component-dep-fails option</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.14 if-component-dep-fails option</h4>
</span> <a name="index-_003aif_002dcomponent_002ddep_002dfails-component-option"></a>
 <p>This option was removed in ASDF 3.
 Its semantics was limited in purpose and dubious to explain,
<span style="color: #aaaaaa">@@ -1640,7 +1698,7 @@ and its implementation was breaking a hole into the ASDF object model.
</span> Please use the <code>if-feature</code> option instead.
 </p>
 <a name="feature-requirement"></a>
<span style="color: #000000;background-color: #ffdddd">-<h4 class="subsection">6.3.14 feature requirement</h4>
</span><span style="color: #000000;background-color: #ddffdd">+<h4 class="subsection">6.3.15 feature requirement</h4>
</span> <p>This requirement was removed in ASDF 3.1.  Please do not use it.  In
 most cases, <code>:if-feature</code> (see <a href="#if_002dfeature_002doption">if-feature-option</a>) will provide
 an adequate substitute.
<span style="color: #aaaaaa">@@ -1971,7 +2029,7 @@ may be performed on a given component.
</span> </p></dd></dl>
 
 <dl>
<span style="color: #000000;background-color: #ffdddd">-<dt><a name="index-load_002dsource_002dop"></a>Operation: <strong><code>load-source-op</code></strong> <em>, <code>prepare-source-op</code></em></dt>
</span><span style="color: #000000;background-color: #ddffdd">+<dt><a name="index-load_002dsource_002dop_002c"></a>Operation: <strong><code>load-source-op</code>,</strong> <em><code>prepare-source-op</code></em></dt>
</span> <dd>
 <p><code>load-source-op</code> will load the source for the files in a module
 rather than the compiled fasl output.
<span style="color: #aaaaaa">@@ -1987,7 +2045,7 @@ that ensures the dependencies are themselves loaded via <code>load-source-op</co
</span> The default method will do nothing.
 The default dependency is to require
 <code>load-op</code> to be performed on the module first.
<span style="color: #000000;background-color: #ffdddd">-Its <code>operation-done-p</code> method returns <code>nil</code>,
</span><span style="color: #000000;background-color: #ddffdd">+Its default <code>operation-done-p</code> method returns <code>nil</code>,
</span> which means that the operation is <em>never</em> done
 &ndash;
 we assume that if you invoke the <code>test-op</code>,
<span style="color: #aaaaaa">@@ -2034,7 +2092,7 @@ on a library.  For example, one might have
</span> 
 
 <dl>
<span style="color: #000000;background-color: #ffdddd">-<dt><a name="index-compile_002dbundle_002dop"></a>Operation: <strong><code>compile-bundle-op</code></strong> <em>, <code>monolithic-compile-bundle-op</code>, <code>load-bundle-op</code>, <code>monolithic-load-bundle-op</code>, <code>deliver-asd-op</code>, <code>monolithic-deliver-asd-op</code>, <code>lib-op</code>, <code>monolithic-lib-op</code>, <code>dll-op</code>, <code>monolithic-dll-op</code>, <code>image-op</code>, <code>program-op</code></em></dt>
</span><span style="color: #000000;background-color: #ddffdd">+<dt><a name="index-compile_002dbundle_002dop_002c"></a>Operation: <strong><code>compile-bundle-op</code>,</strong> <em><code>monolithic-compile-bundle-op</code>, <code>load-bundle-op</code>, <code>monolithic-load-bundle-op</code>, <code>deliver-asd-op</code>, <code>monolithic-deliver-asd-op</code>, <code>lib-op</code>, <code>monolithic-lib-op</code>, <code>dll-op</code>, <code>monolithic-dll-op</code>, <code>image-op</code>, <code>program-op</code></em></dt>
</span> <dd>
 <p>These are &ldquo;bundle&rdquo; operations, that can create a single-file &ldquo;bundle&rdquo;
 for all the contents of each system in an application,
<span style="color: #aaaaaa">@@ -2126,7 +2184,7 @@ Maybe you have suggestions on how to better configure it?
</span> </p></dd></dl>
 
 <dl>
<span style="color: #000000;background-color: #ffdddd">-<dt><a name="index-concatenate_002dsource_002dop"></a>Operation: <strong><code>concatenate-source-op</code></strong> <em>, <code>monolithic-concatenate-source-op</code>, <code>load-concatenated-source-op</code>, <code>compile-concatenated-source-op</code>, <code>load-compiled-concatenated-source-op</code>, <code>monolithic-load-concatenated-source-op</code>, <code>monolithic-compile-concatenated-source-op</code>, <code>monolithic-load-compiled-concatenated-source-op</code></em></dt>
</span><span style="color: #000000;background-color: #ddffdd">+<dt><a name="index-concatenate_002dsource_002dop_002c"></a>Operation: <strong><code>concatenate-source-op</code>,</strong> <em><code>monolithic-concatenate-source-op</code>, <code>load-concatenated-source-op</code>, <code>compile-concatenated-source-op</code>, <code>load-compiled-concatenated-source-op</code>, <code>monolithic-load-concatenated-source-op</code>, <code>monolithic-compile-concatenated-source-op</code>, <code>monolithic-load-compiled-concatenated-source-op</code></em></dt>
</span> <dd>
 <p>These operations, as their respective names indicate,
 will concatenate all the <code>cl-source-file</code> source files in a system
<span style="color: #aaaaaa">@@ -5241,7 +5299,7 @@ and lose configuration as they do.
</span> <a name="index-monolithic_002dfasl_002dop-_0028obsolete_0029"></a>
 <a name="index-monolithic_002dload_002dfasl_002dop-_0028obsolete_0029"></a>
 <a name="index-monolithic_002dbinary_002dop-_0028obsolete_0029"></a>
<span style="color: #000000;background-color: #ffdddd">-<a name="index-compile_002dbundle_002dop-1"></a>
</span><span style="color: #000000;background-color: #ddffdd">+<a name="index-compile_002dbundle_002dop"></a>
</span> <a name="index-load_002dbundle_002dop"></a>
 <a name="index-deliver_002dasd_002dop"></a>
 <a name="index-monolithic_002dcompile_002dbundle_002dop"></a>
<span style="color: #aaaaaa">@@ -5699,6 +5757,21 @@ to eschew using such an important library anymore.
</span> <p>Use from the <code>named-readtables</code> system the macro <code>named-readtables:defreadtable</code>.
 </p>
 <hr>
<span style="color: #000000;background-color: #ddffdd">+<a name="How-can-I-capture-ASDF_0027s-output_003f"></a>
+<a name="How-can-I-capture-ASDF_0027s-output_003f-1"></a>
+<h4 class="subsection">13.6.8 How can I capture ASDF&rsquo;s output?</h4>
+
+<a name="index-ASDF-output"></a>
+<a name="index-Capturing-ASDF-output"></a>
+<a name="index-_002astandard_002doutput_002a"></a>
+
+<p>Output from ASDF and ASDF extensions are sent to the CL stream
+<code>*standard-output*</code>, so rebinding that stream around calls to
+<code>asdf:operate</code> should redirect all output from ASDF operations.
+</p>
+
+
+<hr>
</span> <a name="ASDF-development-FAQs"></a>
 <a name="ASDF-development-FAQs-1"></a>
 <h3 class="section">13.7 ASDF development FAQs</h3>
<span style="color: #aaaaaa">@@ -5878,6 +5951,7 @@ see the <samp>TODO</samp> file in the source repository.
</span> <tr><td></td><td valign="top"><a href="#index-_003aasdf">:asdf</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_003aasdf2">:asdf2</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_003aasdf3">:asdf3</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
<span style="color: #000000;background-color: #ddffdd">+<tr><td></td><td valign="top"><a href="#index-_003abuild_002doperation">:build-operation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#The-defsystem-grammar">The defsystem grammar</a></td></tr>
</span> <tr><td></td><td valign="top"><a href="#index-_003acompile_002dcheck">:compile-check</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Controlling-file-compilation">Controlling file compilation</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_003adefault_002dregistry-source-config-directive">:default-registry source config directive</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-DSL">Configuration DSL</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_003adefsystem_002ddepends_002don">:defsystem-depends-on</a>:</td><td>&nbsp;</td><td valign="top"><a href="#The-defsystem-grammar">The defsystem grammar</a></td></tr>
<span style="color: #aaaaaa">@@ -5898,6 +5972,7 @@ see the <samp>TODO</samp> file in the source repository.
</span> <tr><th><a name="Concept-Index_cp_letter-A">A</a></th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-also_002dexclude-source-config-directive">also-exclude source config directive</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-DSL">Configuration DSL</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-around_002dcompile-keyword">around-compile keyword</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Controlling-file-compilation">Controlling file compilation</a></td></tr>
<span style="color: #000000;background-color: #ddffdd">+<tr><td></td><td valign="top"><a href="#index-ASDF-output">ASDF output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#How-can-I-capture-ASDF_0027s-output_003f">How can I capture ASDF's output?</a></td></tr>
</span> <tr><td></td><td valign="top"><a href="#index-ASDF-versions">ASDF versions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-ASDF_002dBINARY_002dLOCATIONS-compatibility">ASDF-BINARY-LOCATIONS compatibility</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Output-Backward-Compatibility">Output Backward Compatibility</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-asdf_002doutput_002dtranslations">asdf-output-translations</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></td></tr>
<span style="color: #aaaaaa">@@ -5907,8 +5982,10 @@ see the <samp>TODO</samp> file in the source repository.
</span> <tr><td colspan="4"> <hr></td></tr>
 <tr><th><a name="Concept-Index_cp_letter-B">B</a></th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-bug-tracker">bug tracker</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Where-do-I-report-a-bug_003f">Where do I report a bug?</a></td></tr>
<span style="color: #000000;background-color: #ddffdd">+<tr><td></td><td valign="top"><a href="#index-build_002doperation">build-operation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Convenience-Functions">Convenience Functions</a></td></tr>
</span> <tr><td colspan="4"> <hr></td></tr>
 <tr><th><a name="Concept-Index_cp_letter-C">C</a></th><td></td><td></td></tr>
<span style="color: #000000;background-color: #ddffdd">+<tr><td></td><td valign="top"><a href="#index-Capturing-ASDF-output">Capturing ASDF output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#How-can-I-capture-ASDF_0027s-output_003f">How can I capture ASDF's output?</a></td></tr>
</span> <tr><td></td><td valign="top"><a href="#index-compile_002dcheck-keyword">compile-check keyword</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Controlling-file-compilation">Controlling file compilation</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-component">component</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Components">Components</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-component-designator">component designator</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Components">Components</a></td></tr>
<span style="color: #aaaaaa">@@ -6050,15 +6127,15 @@ see the <samp>TODO</samp> file in the source repository.
</span> <tr><td></td><td valign="top"><a href="#index-coerce_002dname"><code>coerce-name</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Creating-new-operations">Creating new operations</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-coerce_002dname-1"><code>coerce-name</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Components">Components</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-coerce_002dname-2"><code>coerce-name</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Common-attributes-of-components">Common attributes of components</a></td></tr>
<span style="color: #000000;background-color: #ffdddd">-<tr><td></td><td valign="top"><a href="#index-compile_002dbundle_002dop-1"><code>compile-bundle-op</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#What-happened-to-the-bundle-operations">What happened to the bundle operations</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compile_002dbundle_002dop"><code><code>compile-bundle-op</code></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></td></tr>
</span><span style="color: #000000;background-color: #ddffdd">+<tr><td></td><td valign="top"><a href="#index-compile_002dbundle_002dop"><code>compile-bundle-op</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#What-happened-to-the-bundle-operations">What happened to the bundle operations</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-compile_002dbundle_002dop_002c"><code><code>compile-bundle-op</code>,</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></td></tr>
</span> <tr><td></td><td valign="top"><a href="#index-compile_002dfile_002a"><code>compile-file*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Controlling-file-compilation">Controlling file compilation</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-compile_002dop"><code><code>compile-op</code></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-compile_002dsystem"><code>compile-system</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Convenience-Functions">Convenience Functions</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-component-1"><code>component</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#The-object-model-of-ASDF">The object model of ASDF</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-component_002ddepends_002don"><code>component-depends-on</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Creating-new-operations">Creating new operations</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-component_002dpathname"><code>component-pathname</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Common-attributes-of-components">Common attributes of components</a></td></tr>
<span style="color: #000000;background-color: #ffdddd">-<tr><td></td><td valign="top"><a href="#index-concatenate_002dsource_002dop"><code><code>concatenate-source-op</code></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></td></tr>
</span><span style="color: #000000;background-color: #ddffdd">+<tr><td></td><td valign="top"><a href="#index-concatenate_002dsource_002dop_002c"><code><code>concatenate-source-op</code>,</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></td></tr>
</span> <tr><td colspan="4"> <hr></td></tr>
 <tr><th><a name="Function-and-Class-Index_fn_letter-D">D</a></th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-defsystem"><code>defsystem</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#The-defsystem-form">The defsystem form</a></td></tr>
<span style="color: #aaaaaa">@@ -6090,9 +6167,8 @@ see the <samp>TODO</samp> file in the source repository.
</span> <tr><td></td><td valign="top"><a href="#index-load_002dbundle_002dop"><code>load-bundle-op</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#What-happened-to-the-bundle-operations">What happened to the bundle operations</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-load_002dfasl_002dop-_0028obsolete_0029"><code>load-fasl-op (obsolete)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#What-happened-to-the-bundle-operations">What happened to the bundle operations</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-load_002dop"><code><code>load-op</code></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></td></tr>
<span style="color: #000000;background-color: #ffdddd">-<tr><td></td><td valign="top"><a href="#index-load_002dsource_002dop"><code><code>load-source-op</code></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></td></tr>
</span><span style="color: #000000;background-color: #ddffdd">+<tr><td></td><td valign="top"><a href="#index-load_002dsource_002dop_002c"><code><code>load-source-op</code>,</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></td></tr>
</span> <tr><td></td><td valign="top"><a href="#index-load_002dsystem"><code>load-system</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Convenience-Functions">Convenience Functions</a></td></tr>
<span style="color: #000000;background-color: #ffdddd">-<tr><td></td><td valign="top"><a href="#index-load_002dsystem-1"><code>load-system</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Convenience-Functions">Convenience Functions</a></td></tr>
</span> <tr><td></td><td valign="top"><a href="#index-locate_002dsystem"><code>locate-system</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Components">Components</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th><a name="Function-and-Class-Index_fn_letter-M">M</a></th><td></td><td></td></tr>
<span style="color: #aaaaaa">@@ -6128,7 +6204,6 @@ see the <samp>TODO</samp> file in the source repository.
</span> <tr><td></td><td valign="top"><a href="#index-register_002dimmutable_002dsystem-1"><code>register-immutable-system</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Functions">Miscellaneous Functions</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-register_002dpreloaded_002dsystem"><code>register-preloaded-system</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Functions">Miscellaneous Functions</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-require_002dsystem"><code>require-system</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Convenience-Functions">Convenience Functions</a></td></tr>
<span style="color: #000000;background-color: #ffdddd">-<tr><td></td><td valign="top"><a href="#index-require_002dsystem-1"><code>require-system</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Convenience-Functions">Convenience Functions</a></td></tr>
</span> <tr><td></td><td valign="top"><a href="#index-run_002dprogram"><code>run-program</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Some-Utility-Functions">Some Utility Functions</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-run_002dshell_002dcommand"><code>run-shell-command</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Functions">Miscellaneous Functions</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
<span style="color: #aaaaaa">@@ -6212,6 +6287,7 @@ see the <samp>TODO</samp> file in the source repository.
</span> <tr><td></td><td valign="top"><a href="#index-_002anil_002dpathname_002a"><code>*nil-pathname*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Some-Utility-Functions">Some Utility Functions</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_002aoldest_002dforward_002dcompatible_002dasdf_002dversion_002a"><code>*oldest-forward-compatible-asdf-version*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Pitfalls-of-the-upgrade-to-ASDF-3">Pitfalls of the upgrade to ASDF 3</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_002asource_002dregistry_002dparameter_002a"><code>*source-registry-parameter*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#g_t_002asource_002dregistry_002dparameter_002a-variable">*source-registry-parameter* variable</a></td></tr>
<span style="color: #000000;background-color: #ddffdd">+<tr><td></td><td valign="top"><a href="#index-_002astandard_002doutput_002a"><code>*standard-output*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#How-can-I-capture-ASDF_0027s-output_003f">How can I capture ASDF's output?</a></td></tr>
</span> <tr><td></td><td valign="top"><a href="#index-_002asystem_002ddefinition_002dsearch_002dfunctions_002a"><code>*system-definition-search-functions*</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Components">Components</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th><a name="Variable-Index_vr_letter-A">A</a></th><td></td><td></td></tr>
</code></pre>

<br>
</li>
<li id='diff-2'>
<a href='https://gitlab.common-lisp.net/cmucl/cmucl/commit/184a5a0de32e47ce88ac2dfee1070090e1c98c5c#diff-2'>
<strong>
src/contrib/asdf/doc/asdf.info
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/src/contrib/asdf/doc/asdf.info
</span><span style="color: #000000;background-color: #ddffdd">+++ b/src/contrib/asdf/doc/asdf.info
</span><span style="color: #aaaaaa">@@ -1,4 +1,4 @@
</span><span style="color: #000000;background-color: #ffdddd">-This is asdf.info, produced by makeinfo version 5.2 from asdf.texinfo.
</span><span style="color: #000000;background-color: #ddffdd">+This is asdf.info, produced by makeinfo version 6.1 from asdf.texinfo.
</span> 
 This manual describes ASDF, a system definition facility for Common Lisp
 programs and libraries.
<span style="color: #aaaaaa">@@ -43,7 +43,7 @@ File: asdf.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
</span> ASDF: Another System Definition Facility
 ****************************************
 
<span style="color: #000000;background-color: #ffdddd">-Manual for Version 3.1.6.9
</span><span style="color: #000000;background-color: #ddffdd">+Manual for Version 3.1.6.14
</span> 
    This manual describes ASDF, a system definition facility for Common
 Lisp programs and libraries.
<span style="color: #aaaaaa">@@ -243,6 +243,7 @@ Issues with using and extending ASDF to define systems
</span> * How do I create a system definition where all the source files have a .cl extension?::
 * How do I mark a source file to be loaded only and not compiled?::
 * How do I work with readtables?::
<span style="color: #000000;background-color: #ddffdd">+* How can I capture ASDF's output?::
</span> 
 ASDF development FAQs
 
<span style="color: #aaaaaa">@@ -780,11 +781,19 @@ File: asdf.info,  Node: Convenience Functions,  Next: Moving on,  Prev: Loading 
</span> =========================
 
 ASDF provides three commands for the most common system operations:
<span style="color: #000000;background-color: #ffdddd">-'load-system', 'compile-system', and 'test-system'.  It also provides
-'require-system', a version of 'load-system' that skips trying to update
-systems that are already loaded.  And it provides 'make', a function
-that uses whichever operation was specified by the author of the target
-system, which by default behaves like 'load-system'.
</span><span style="color: #000000;background-color: #ddffdd">+'load-system', 'compile-system', and 'test-system'.
+
+   ASDF also provides 'require-system', a variant of 'load-system' that
+skips loading systems that are already loaded.  This is sometimes
+useful, for example, in order to avoid re-loading libraries that come
+pre-loaded into your lisp implementation.
+
+   ASDF also provides 'make', a way of allowing system developers to
+choose a default operation for their systems.  For example, a developer
+who has created a system intended to format a specific document, might
+make document-formatting the default operation invoked by 'make',
+instead of loading.  If the system developer doesn't specify in the
+system definition, the default operation will be loading.
</span> 
    Because ASDF is an extensible system for defining _operations_ on
 _components_, it also provides a generic function 'operate', so you may
<span style="color: #aaaaaa">@@ -794,43 +803,71 @@ stands for operate-on-system, a name inherited from 'mk-defsystem'.)
</span> You'll use 'operate' whenever you want to do something beyond compiling,
 loading and testing.
 
<span style="color: #000000;background-color: #ffdddd">-   Note that output from ASDF and ASDF extensions are sent to the CL
-stream '*standard-output*', so rebinding that stream around calls to
-'asdf:operate' should redirect all output from ASDF operations.
-
-   'load-system' applies 'operate' with the operation from
-'*load-system-operation*' the system, and any provided keyword
-arguments.  '*load-system-operation*' by default is 'load-op'; it would
-be 'load-bundle-op' by default on ECL, if only an implementation bug
-were fixed.
-
-   'require-system' skips any update to systems that have already been
-loaded, in the spirit of 'cl:require'.  It does it by calling
-'load-system' with a keyword option excluding already loaded
-systems.(1).  On actively maintained free software implementations
-(namely recent versions of ABCL, Clozure CL, CMUCL, ECL, GNU CLISP, MKCL
-and SBCL), once ASDF itself is loaded, 'cl:require' too can load ASDF
-systems, by falling back on 'require-system' for module names not
-recognized by the implementation.
-
-   Note that 'cl:require' and 'require-system' are appropriate to load
-code that is not being modified during the current programming session.
-This notably includes the implementation-provided extension modules that
-'cl:require' can load.  This also includes any number of ASDF systems
-that the user isn't either developing or debugging, for which a
-previously installed version is deemed to be satisfactory.
-'require-system' and through it 'cl:require' can load these systems
-without any problem.  But for code that you are actively developing,
-debugging, or otherwise modifying, you should use 'load-system', so ASDF
-will pick on your modifications and transitively re-build the modified
-files and everything that depends on them.
-
-   Finally, starting with ASDF 3.1, a function 'make' is also available,
-that does "The Right Thing" with your system.  The default behaviour is
-to load the system as if by 'load-system'; but instead of this default,
-system authors can specify the intended use of their system by
-specifying their desired operation with a ':build-operation' argument in
-the system definition.
</span><span style="color: #000000;background-color: #ddffdd">+ -- Function: load-system system &rest keys &key force force-not verbose
+          version &allow-other-keys
+     Apply 'operate' with the operation from '*load-system-operation*'
+     the SYSTEM, and any provided keyword arguments.
+     '*load-system-operation*' by default is 'load-op'; it would be
+     'load-bundle-op' by default on ECL, if only an implementation bug
+     were fixed.  Calling 'load-system' is the regular, recommended way
+     to load a system into the current image.
+
+ -- Function: compile-system system &rest keys &key force force-not
+          verbose version &allow-other-keys
+     Apply 'operate' with the operation 'compile-op', the SYSTEM, and
+     any provided keyword arguments.  This will make sure all the files
+     in the system are compiled, but not necessarily load any of them in
+     the current image; on most systems, it will _not_ load all compiled
+     files in the current image.  This function exists for symmetry with
+     'load-system' but is not recommended unless you are writing build
+     scripts and know what you're doing.  But then, you might be
+     interested in 'program-op' rather than 'compile-op'.
+
+ -- Function: test-system system &rest keys &key force force-not verbose
+          version &allow-other-keys
+     Apply 'operate' with the operation 'test-op', the SYSTEM, and any
+     provided keyword arguments.  *Note test-op::.
+
+ -- Function: make system &rest keys &key &allow-other-keys
+     Do "The Right Thing" with your system.  Starting with ASDF 3.1,
+     this function 'make' is also available.  The default behaviour is
+     to load the system as if by 'load-system'; but system authors can
+     override this default in their system definition they may specify
+     an alternate operation as the intended use of their system, with a
+     ':build-operation' option in the 'defsystem' form (*note
+     build-operation: The defsystem grammar.), and an intended output
+     pathname for that operation with ':build-pathname'.  This function
+     is experimental and largely untested.  Use at your own risk.
+
+ -- Function: require-system system &rest keys &key &allow-other-keys
+     'require-system' skips any update to systems that have already been
+     loaded, in the spirit of 'cl:require'.  It does it by calling
+     'load-system' with a keyword option excluding already loaded
+     systems.(1).  On actively maintained free software implementations
+     (namely recent versions of ABCL, Clozure CL, CMUCL, ECL, GNU CLISP,
+     MKCL and SBCL), once ASDF itself is loaded, 'cl:require' too can
+     load ASDF systems, by falling back on 'require-system' for module
+     names not recognized by the implementation.  (Note however that
+     'require-system' does _not_ fall back on 'cl:require'; that would
+     introduce an "interesting" potential infinite loop to break
+     somehow.)
+
+     'cl:require' and 'require-system' are appropriate to load code that
+     is not being modified during the current programming session.
+     'cl:require' will notably load the implementation-provided
+     extension modules; 'require-system' won't, unless they are also
+     defined as systems somehow, which SBCL and MKCL do.
+     'require-system' may also be used to load any number of ASDF
+     systems that the user isn't either developing or debugging, for
+     which a previously installed version is deemed to be satisfactory;
+     'cl:require' on the above-mentioned implementations will delegate
+     to 'require-system' and may load them as well.  But for code that
+     you are actively developing, debugging, or otherwise modifying, you
+     should use 'load-system', so ASDF will pick on your modifications
+     and transitively re-build the modified files and everything that
+     depends on them (that the requested SYSTEM itself depends on --
+     ASDF itself never builds anything unless it's an explicitly
+     requested system or the dependencies thereof).
</span> 
    ---------- Footnotes ----------
 
<span style="color: #aaaaaa">@@ -1113,6 +1150,7 @@ File: asdf.info,  Node: The defsystem grammar,  Next: Other code in .asd files, 
</span>      system-option := :defsystem-depends-on system-list
                       | :weakly-depends-on SYSTEM-LIST
                       | :class class-name (see discussion below)
<span style="color: #000000;background-color: #ddffdd">+                      | :build-operation OPERATION-NAME
</span>                       | system-option
                       | module-option
                       | option
<span style="color: #aaaaaa">@@ -1227,7 +1265,19 @@ to specify another ASDF-defined system or set of systems that must be
</span> loaded _before_ the system definition is processed.  Typically this is
 used to load an ASDF extension that is used in the system definition.
 
<span style="color: #000000;background-color: #ffdddd">-6.3.5 Weakly depends on
</span><span style="color: #000000;background-color: #ddffdd">+6.3.5 Build-operation
+---------------------
+
+The ':build-operation' option to 'defsystem' allows the programmer to
+specify an operation that will be applied, in place of 'load-op' when
+'make' (*note make: Convenience Functions.) is run on the system.  The
+option value should be the name of an operation.  E.g.,
+':build-operation doc-op'
+
+   This feature is experimental and largely untested.  Use at your own
+risk.
+
+6.3.6 Weakly depends on
</span> -----------------------
 
 We do _NOT_ recommend you use this feature.  If you are tempted to write
<span style="color: #aaaaaa">@@ -1249,7 +1299,7 @@ only makes sense at the 'defsystem' level.  Programmers are cautioned
</span> not to use this component option except at the 'defsystem' level, as
 this anomalous behaviour may be removed without warning.
 
<span style="color: #000000;background-color: #ffdddd">-6.3.6 Pathname specifiers
</span><span style="color: #000000;background-color: #ddffdd">+6.3.7 Pathname specifiers
</span> -------------------------
 
 A pathname specifier ('pathname-specifier') may be a pathname, a string
<span style="color: #aaaaaa">@@ -1316,7 +1366,7 @@ a directory or a file with appropriate type); on the other hand, you can
</span> circumvent the file type that would otherwise be forced upon you if you
 were specifying a string.
 
<span style="color: #000000;background-color: #ffdddd">-6.3.7 Version specifiers
</span><span style="color: #000000;background-color: #ddffdd">+6.3.8 Version specifiers
</span> ------------------------
 
 Version specifiers are strings to be parsed as period-separated lists of
<span style="color: #aaaaaa">@@ -1347,7 +1397,7 @@ number.
</span> 
    *Note Common attributes of components::.
 
<span style="color: #000000;background-color: #ffdddd">-6.3.8 Require
</span><span style="color: #000000;background-color: #ddffdd">+6.3.9 Require
</span> -------------
 
 Use the implementation's own 'require' to load the MODULE-NAME.
<span style="color: #aaaaaa">@@ -1357,8 +1407,8 @@ than '#+_implementation-name_' to only depend on the specified module on
</span> the specific implementation that provides it.  *Note
 if-feature-option::.
 
<span style="color: #000000;background-color: #ffdddd">-6.3.9 Using logical pathnames
------------------------------
</span><span style="color: #000000;background-color: #ddffdd">+6.3.10 Using logical pathnames
+------------------------------
</span> 
 We do not generally recommend the use of logical pathnames, especially
 not so to newcomers to Common Lisp.  However, we do support the use of
<span style="color: #aaaaaa">@@ -1403,7 +1453,7 @@ are shared with software written in different programming languages
</span> where conventions include the use of underscores, dots or CamelCase in
 pathnames.
 
<span style="color: #000000;background-color: #ffdddd">-6.3.10 Serial dependencies
</span><span style="color: #000000;background-color: #ddffdd">+6.3.11 Serial dependencies
</span> --------------------------
 
 If the ':serial t' option is specified for a module, ASDF will add
<span style="color: #aaaaaa">@@ -1419,7 +1469,7 @@ preceding it.  This is done as if by ':depends-on'.
</span>                   (:file "b" :depends-on ("a"))
                   (:file "c" :depends-on ("a" "b")))
 
<span style="color: #000000;background-color: #ffdddd">-6.3.11 Source location (':pathname')
</span><span style="color: #000000;background-color: #ddffdd">+6.3.12 Source location (':pathname')
</span> ------------------------------------
 
 The ':pathname' option is optional in all cases for systems defined via
<span style="color: #aaaaaa">@@ -1458,7 +1508,7 @@ pathname will be set to:
</span>      that a developer can evaluate a 'defsystem' form from within an
      editor without clobbering its source location)
 
<span style="color: #000000;background-color: #ffdddd">-6.3.12 if-feature option
</span><span style="color: #000000;background-color: #ddffdd">+6.3.13 if-feature option
</span> ------------------------
 
 This option allows you to specify a feature expression to be evaluated
<span style="color: #aaaaaa">@@ -1481,14 +1531,14 @@ before any build operations have been performed.
</span>    This option was added in ASDF 3.  For more information, *Note
 Required features: required-features.
 
<span style="color: #000000;background-color: #ffdddd">-6.3.13 if-component-dep-fails option
</span><span style="color: #000000;background-color: #ddffdd">+6.3.14 if-component-dep-fails option
</span> ------------------------------------
 
 This option was removed in ASDF 3.  Its semantics was limited in purpose
 and dubious to explain, and its implementation was breaking a hole into
 the ASDF object model.  Please use the 'if-feature' option instead.
 
<span style="color: #000000;background-color: #ffdddd">-6.3.14 feature requirement
</span><span style="color: #000000;background-color: #ddffdd">+6.3.15 feature requirement
</span> --------------------------
 
 This requirement was removed in ASDF 3.1.  Please do not use it.  In
<span style="color: #aaaaaa">@@ -1802,7 +1852,7 @@ They are invoked via the 'operate' generic function.
</span>      before 'compile-op' and 'load-op' operations may be performed on a
      given component.
 
<span style="color: #000000;background-color: #ffdddd">- -- Operation: 'load-source-op' , 'prepare-source-op'
</span><span style="color: #000000;background-color: #ddffdd">+ -- Operation: 'load-source-op', 'prepare-source-op'
</span> 
      'load-source-op' will load the source for the files in a module
      rather than the compiled fasl output.  It has a 'prepare-source-op'
<span style="color: #aaaaaa">@@ -1813,7 +1863,7 @@ They are invoked via the 'operate' generic function.
</span> 
      This operation will perform some tests on the module.  The default
      method will do nothing.  The default dependency is to require
<span style="color: #000000;background-color: #ffdddd">-     'load-op' to be performed on the module first.  Its
</span><span style="color: #000000;background-color: #ddffdd">+     'load-op' to be performed on the module first.  Its default
</span>      'operation-done-p' method returns 'nil', which means that the
      operation is _never_ done - we assume that if you invoke the
      'test-op', you want to test the system, even if you have already
<span style="color: #aaaaaa">@@ -1850,7 +1900,7 @@ They are invoked via the 'operate' generic function.
</span>                                                       :foo-tests)))
             ...)
 
<span style="color: #000000;background-color: #ffdddd">- -- Operation: 'compile-bundle-op' , 'monolithic-compile-bundle-op',
</span><span style="color: #000000;background-color: #ddffdd">+ -- Operation: 'compile-bundle-op', 'monolithic-compile-bundle-op',
</span>           'load-bundle-op', 'monolithic-load-bundle-op',
           'deliver-asd-op', 'monolithic-deliver-asd-op', 'lib-op',
           'monolithic-lib-op', 'dll-op', 'monolithic-dll-op',
<span style="color: #aaaaaa">@@ -1935,7 +1985,7 @@ They are invoked via the 'operate' generic function.
</span>      very satisfactory and may change in the future.  Maybe you have
      suggestions on how to better configure it?
 
<span style="color: #000000;background-color: #ffdddd">- -- Operation: 'concatenate-source-op' ,
</span><span style="color: #000000;background-color: #ddffdd">+ -- Operation: 'concatenate-source-op',
</span>           'monolithic-concatenate-source-op',
           'load-concatenated-source-op',
           'compile-concatenated-source-op',
<span style="color: #aaaaaa">@@ -4993,6 +5043,7 @@ File: asdf.info,  Node: Issues with using and extending ASDF to define systems, 
</span> * How do I create a system definition where all the source files have a .cl extension?::
 * How do I mark a source file to be loaded only and not compiled?::
 * How do I work with readtables?::
<span style="color: #000000;background-color: #ddffdd">+* How can I capture ASDF's output?::
</span> 
 
 File: asdf.info,  Node: How can I cater for unit-testing in my system?,  Next: How can I cater for documentation generation in my system?,  Prev: Issues with using and extending ASDF to define systems,  Up: Issues with using and extending ASDF to define systems
<span style="color: #aaaaaa">@@ -5001,7 +5052,7 @@ File: asdf.info,  Node: How can I cater for unit-testing in my system?,  Next: H
</span> -------------------------------------------------------
 
 ASDF provides a predefined test operation, 'test-op'.  *Note test-op:
<span style="color: #000000;background-color: #ffdddd">-Predefined operations of ASDF.  The test operation, however, is largely
</span><span style="color: #000000;background-color: #ddffdd">+Predefined operations of ASDF. The test operation, however, is largely
</span> left to the system definer to specify.  'test-op' has been a topic of
 considerable discussion on the asdf-devel mailing list
 (http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel) (*note
<span style="color: #aaaaaa">@@ -5152,7 +5203,7 @@ or with various bundle operations.  In addition, the dependency model of
</span> ASDF would have to be modified incompatibly to allow for such a trick.
 
 
<span style="color: #000000;background-color: #ffdddd">-File: asdf.info,  Node: How do I work with readtables?,  Prev: How do I mark a source file to be loaded only and not compiled?,  Up: Issues with using and extending ASDF to define systems
</span><span style="color: #000000;background-color: #ddffdd">+File: asdf.info,  Node: How do I work with readtables?,  Next: How can I capture ASDF's output?,  Prev: How do I mark a source file to be loaded only and not compiled?,  Up: Issues with using and extending ASDF to define systems
</span> 
 13.6.7 How do I work with readtables?
 -------------------------------------
<span style="color: #aaaaaa">@@ -5226,6 +5277,16 @@ Use from the 'named-readtables' system the macro
</span> 'named-readtables:defreadtable'.
 
 
<span style="color: #000000;background-color: #ddffdd">+File: asdf.info,  Node: How can I capture ASDF's output?,  Prev: How do I work with readtables?,  Up: Issues with using and extending ASDF to define systems
+
+13.6.8 How can I capture ASDF's output?
+---------------------------------------
+
+Output from ASDF and ASDF extensions are sent to the CL stream
+'*standard-output*', so rebinding that stream around calls to
+'asdf:operate' should redirect all output from ASDF operations.
+
+
</span> File: asdf.info,  Node: ASDF development FAQs,  Prev: Issues with using and extending ASDF to define systems,  Up: FAQ
 
 13.7 ASDF development FAQs
<span style="color: #aaaaaa">@@ -5364,36 +5425,40 @@ Concept Index
</span> * :asdf:                                 Introduction.        (line   6)
 * :asdf2:                                Introduction.        (line   6)
 * :asdf3:                                Introduction.        (line   6)
<span style="color: #000000;background-color: #ddffdd">+* :build-operation:                      The defsystem grammar.
+                                                              (line 129)
</span> * :compile-check:                        Controlling file compilation.
                                                               (line   6)
 * :default-registry source config directive: Configuration DSL.
                                                               (line   6)
 * :defsystem-depends-on:                 The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 120)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 121)
</span> * :directory source config directive:    Configuration DSL.   (line   6)
 * :exclude source config directive:      Configuration DSL.   (line   6)
 * :if-component-dep-fails component option: The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 382)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 395)
</span> * :if-feature component option:          The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 359)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 372)
</span> * :ignore-invalid-entries source config directive: Configuration DSL.
                                                               (line   6)
 * :include source config directive:      Configuration DSL.   (line   6)
 * :inherit-configuration source config directive: Configuration DSL.
                                                               (line   6)
 * :require dependencies:                 The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 248)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 261)
</span> * :tree source config directive:         Configuration DSL.   (line   6)
 * :version:                              The defsystem form.  (line  68)
 * :version <1>:                          The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 217)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 230)
</span> * :version <2>:                          Common attributes of components.
                                                               (line  23)
 * :weakly-depends-on:                    The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 128)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 141)
</span> * also-exclude source config directive:  Configuration DSL.   (line   6)
 * around-compile keyword:                Controlling file compilation.
                                                               (line   6)
<span style="color: #000000;background-color: #ddffdd">+* ASDF output:                           How can I capture ASDF's output?.
+                                                              (line   6)
</span> * ASDF versions:                         Introduction.        (line   6)
 * ASDF-BINARY-LOCATIONS compatibility:   Output Backward Compatibility.
                                                               (line   6)
<span style="color: #aaaaaa">@@ -5404,6 +5469,10 @@ Concept Index
</span> * ASDF-USER package:                     Components.          (line  41)
 * bug tracker:                           Where do I report a bug?.
                                                               (line   6)
<span style="color: #000000;background-color: #ddffdd">+* build-operation:                       Convenience Functions.
+                                                              (line  64)
+* Capturing ASDF output:                 How can I capture ASDF's output?.
+                                                              (line   6)
</span> * compile-check keyword:                 Controlling file compilation.
                                                               (line   6)
 * component:                             Components.          (line   6)
<span style="color: #aaaaaa">@@ -5425,23 +5494,23 @@ Concept Index
</span> * launchpad:                             Where do I report a bug?.
                                                               (line   6)
 * logical pathnames:                     The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 258)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 271)
</span> * mailing list:                          Mailing list.        (line   6)
 * operation:                             Operations.          (line   6)
 * pathname specifiers:                   The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 150)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 163)
</span> * Primary system name:                   Components.          (line  70)
 * readtables:                            How do I work with readtables?.
                                                               (line   6)
 * serial dependencies:                   The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 304)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 317)
</span> * system:                                Components.          (line   6)
 * system designator:                     Components.          (line   6)
 * System names:                          Components.          (line  70)
 * Testing for ASDF:                      Introduction.        (line   6)
 * tree source config directive:          Configuration DSL.   (line   6)
 * version specifiers:                    The defsystem grammar.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line 217)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line 230)
</span> 
 
 File: asdf.info,  Node: Function and Class Index,  Next: Variable Index,  Prev: Concept Index,  Up: Top
<span style="color: #aaaaaa">@@ -5453,7 +5522,7 @@ Function and Class Index
</span> * Menu:
 
 * already-loaded-systems:                Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line  25)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  29)
</span> * apply-output-translations:             Output location API. (line  36)
 * asdf-version:                          How do I detect the ASDF version?.
                                                               (line   6)
<span style="color: #aaaaaa">@@ -5474,21 +5543,21 @@ Function and Class Index
</span>                                                               (line  12)
 * compile-bundle-op:                     What happened to the bundle operations.
                                                               (line   6)
<span style="color: #000000;background-color: #ffdddd">-* 'compile-bundle-op':                   Predefined operations of ASDF.
</span><span style="color: #000000;background-color: #ddffdd">+* compile-bundle-op,:                    Predefined operations of ASDF.
</span>                                                               (line  93)
 * compile-file*:                         Controlling file compilation.
                                                               (line   6)
<span style="color: #000000;background-color: #ffdddd">-* 'compile-op':                          Predefined operations of ASDF.
</span><span style="color: #000000;background-color: #ddffdd">+* compile-op:                            Predefined operations of ASDF.
</span>                                                               (line  11)
 * compile-system:                        Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line   6)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  38)
</span> * component:                             The object model of ASDF.
                                                               (line   6)
 * component-depends-on:                  Creating new operations.
                                                               (line  45)
 * component-pathname:                    Common attributes of components.
                                                               (line 155)
<span style="color: #000000;background-color: #ffdddd">-* 'concatenate-source-op':               Predefined operations of ASDF.
</span><span style="color: #000000;background-color: #ddffdd">+* concatenate-source-op,:                Predefined operations of ASDF.
</span>                                                               (line 178)
 * defsystem:                             The defsystem form.  (line   6)
 * defsystem <1>:                         A more involved example.
<span style="color: #aaaaaa">@@ -5521,17 +5590,15 @@ Function and Class Index
</span>                                                               (line   6)
 * load-fasl-op (obsolete):               What happened to the bundle operations.
                                                               (line   6)
<span style="color: #000000;background-color: #ffdddd">-* 'load-op':                             Predefined operations of ASDF.
</span><span style="color: #000000;background-color: #ddffdd">+* load-op:                               Predefined operations of ASDF.
</span>                                                               (line  25)
<span style="color: #000000;background-color: #ffdddd">-* 'load-source-op':                      Predefined operations of ASDF.
</span><span style="color: #000000;background-color: #ddffdd">+* load-source-op,:                       Predefined operations of ASDF.
</span>                                                               (line  45)
 * load-system:                           Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line   6)
-* load-system <1>:                       Convenience Functions.
-                                                              (line  25)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  29)
</span> * locate-system:                         Components.          (line  97)
 * make:                                  Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line   6)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  54)
</span> * merge-pathnames*:                      Some Utility Functions.
                                                               (line  62)
 * module:                                Pre-defined subclasses of component.
<span style="color: #aaaaaa">@@ -5549,11 +5616,11 @@ Function and Class Index
</span> * monolithic-load-fasl-op (obsolete):    What happened to the bundle operations.
                                                               (line   6)
 * oos:                                   Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line  13)
-* 'oos':                                 Operations.          (line  33)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  21)
+* oos <1>:                               Operations.          (line  33)
</span> * operate:                               Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line  13)
-* 'operate':                             Operations.          (line  31)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  21)
+* operate <1>:                           Operations.          (line  31)
</span> * operation:                             The object model of ASDF.
                                                               (line   6)
 * operation-done-p:                      Creating new operations.
<span style="color: #aaaaaa">@@ -5565,7 +5632,7 @@ Function and Class Index
</span>                                                               (line  12)
 * perform:                               Creating new operations.
                                                               (line  19)
<span style="color: #000000;background-color: #ffdddd">-* 'prepare-op':                          Predefined operations of ASDF.
</span><span style="color: #000000;background-color: #ddffdd">+* prepare-op:                            Predefined operations of ASDF.
</span>                                                               (line  38)
 * primary-system-name:                   Components.          (line  70)
 * primary-system-name <1>:               Components.          (line  91)
<span style="color: #aaaaaa">@@ -5575,9 +5642,7 @@ Function and Class Index
</span> * register-preloaded-system:             Miscellaneous Functions.
                                                               (line  61)
 * require-system:                        Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line   6)
-* require-system <1>:                    Convenience Functions.
-                                                              (line  25)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  65)
</span> * run-program:                           Some Utility Functions.
                                                               (line  89)
 * run-shell-command:                     Miscellaneous Functions.
<span style="color: #aaaaaa">@@ -5605,10 +5670,10 @@ Function and Class Index
</span>                                                               (line  25)
 * system-weakly-depends-on:              Information about system dependencies.
                                                               (line  14)
<span style="color: #000000;background-color: #ffdddd">-* 'test-op':                             Predefined operations of ASDF.
</span><span style="color: #000000;background-color: #ddffdd">+* test-op:                               Predefined operations of ASDF.
</span>                                                               (line  52)
 * test-system:                           Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line   6)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  49)
</span> * traverse:                              Operations.          (line  73)
 * version-satisfies:                     Common attributes of components.
                                                               (line  23)
<span style="color: #aaaaaa">@@ -5630,15 +5695,17 @@ Variable Index
</span> * *image-dump-hook*:                     Resetting the ASDF configuration.
                                                               (line  14)
 * *load-system-operation*:               Convenience Functions.
<span style="color: #000000;background-color: #ffdddd">-                                                              (line  25)
</span><span style="color: #000000;background-color: #ddffdd">+                                                              (line  29)
</span> * *nil-pathname*:                        Some Utility Functions.
                                                               (line  43)
 * *oldest-forward-compatible-asdf-version*: Pitfalls of the upgrade to ASDF 3.
                                                               (line  83)
 * *source-registry-parameter*:           *source-registry-parameter* variable.
                                                               (line   6)
<span style="color: #000000;background-color: #ddffdd">+* *standard-output*:                     How can I capture ASDF's output?.
+                                                              (line   6)
</span> * *system-definition-search-functions*:  Components.          (line   6)
<span style="color: #000000;background-color: #ffdddd">-* 'asdf::*user-cache*':                  Output Configuration DSL.
</span><span style="color: #000000;background-color: #ddffdd">+* asdf::*user-cache*:                    Output Configuration DSL.
</span>                                                               (line 118)
 * ASDF_OUTPUT_TRANSLATIONS:              Controlling where ASDF saves compiled files.
                                                               (line   6)
<span style="color: #aaaaaa">@@ -5647,136 +5714,137 @@ Variable Index
</span> 
 Tag Table:
 Node: Top1684
<span style="color: #000000;background-color: #ffdddd">-Node: Introduction7635
-Node: Quick start summary9938
-Node: Loading ASDF11645
-Node: Loading a pre-installed ASDF11947
-Ref: Loading a pre-installed ASDF-Footnote-113760
-Node: Checking whether ASDF is loaded13942
-Node: Upgrading ASDF14856
-Node: Replacing your implementation's ASDF15844
-Node: Loading ASDF from source17267
-Node: Configuring ASDF18368
-Node: Configuring ASDF to find your systems19141
-Ref: Configuring ASDF to find your systems-Footnote-122446
-Ref: Configuring ASDF to find your systems-Footnote-222693
-Ref: Configuring ASDF to find your systems-Footnote-322975
-Node: Configuring ASDF to find your systems --- old style23436
-Ref: Configuring ASDF to find your systems --- old style-Footnote-125863
-Ref: Configuring ASDF to find your systems --- old style-Footnote-226095
-Ref: Configuring ASDF to find your systems --- old style-Footnote-326862
-Node: Configuring where ASDF stores object files27018
-Node: Resetting the ASDF configuration28421
-Node: Using ASDF29478
-Node: Loading a system29689
-Node: Convenience Functions30706
-Ref: Convenience Functions-Footnote-133851
-Node: Moving on33929
-Node: Defining systems with defsystem34300
-Node: The defsystem form34728
-Node: A more involved example38134
-Ref: A more involved example-Footnote-145116
-Node: The defsystem grammar45798
-Ref: if-feature-option61938
-Node: Other code in .asd files63770
-Node: The package-inferred-system extension64906
-Node: The object model of ASDF69173
-Ref: The object model of ASDF-Footnote-171503
-Ref: The object model of ASDF-Footnote-271855
-Node: Operations72182
-Ref: operate73287
-Node: Predefined operations of ASDF75770
-Ref: test-op77885
-Node: Creating new operations85768
-Node: Components90981
-Ref: System names94465
-Ref: Components-Footnote-199137
-Ref: Components-Footnote-299433
-Node: Common attributes of components99755
-Ref: required-features101317
-Node: Pre-defined subclasses of component107164
-Node: Creating new component types109598
-Node: Dependencies110888
-Node: Functions112759
-Node: Controlling where ASDF searches for systems114593
-Node: Configurations115215
-Node: Truenames and other dangers118690
-Node: XDG base directory119976
-Node: Backward Compatibility121390
-Node: Configuration DSL122106
-Node: Configuration Directories127661
-Node: The here directive129488
-Node: Shell-friendly syntax for configuration131381
-Node: Search Algorithm132398
-Node: Caching Results133899
-Node: Configuration API137143
-Node: Introspection139182
-Node: *source-registry-parameter* variable139446
-Node: Information about system dependencies140015
-Node: Status140931
-Node: Rejected ideas141386
-Node: TODO143767
-Node: Credits for the source-registry143952
-Node: Controlling where ASDF saves compiled files144487
-Ref: Controlling where ASDF saves compiled files-Footnote-1145899
-Node: Output Configurations145943
-Ref: Output Configurations-Footnote-1148804
-Node: Output Backward Compatibility148870
-Node: Output Configuration DSL151596
-Node: Output Configuration Directories157051
-Node: Output Shell-friendly syntax for configuration158608
-Node: Semantics of Output Translations159917
-Node: Output Caching Results161486
-Node: Output location API161966
-Node: Credits for output translations164388
-Node: Error handling164908
-Node: Miscellaneous additional functionality165749
-Node: Controlling file compilation166221
-Node: Controlling source file character encoding169487
-Node: Miscellaneous Functions176302
-Ref: system-relative-pathname176599
-Ref: Miscellaneous Functions-Footnote-1182223
-Node: Some Utility Functions182334
-Node: Getting the latest version193062
-Node: FAQ194007
-Node: Where do I report a bug?194402
-Node: Mailing list194767
-Node: What has changed between ASDF 1 ASDF 2 and ASDF 3?195102
-Node: What are ASDF 1 2 3?197276
-Node: How do I detect the ASDF version?198317
-Node: ASDF can portably name files in subdirectories200624
-Node: Output translations202174
-Node: Source Registry Configuration203201
-Node: Usual operations are made easier to the user204828
-Node: Many bugs have been fixed205414
-Node: ASDF itself is versioned207246
-Node: ASDF can be upgraded208121
-Node: Decoupled release cycle209273
-Node: Pitfalls of the transition to ASDF 2210202
-Node: Pitfalls of the upgrade to ASDF 3214472
-Ref: Pitfalls of the upgrade to ASDF 3-Footnote-1218839
-Node: What happened to the bundle operations219009
-Node: Issues with installing the proper version of ASDF220111
-Node: My Common Lisp implementation comes with an outdated version of ASDF. What to do?220582
-Node: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?221515
-Node: Issues with configuring ASDF225398
-Node: How can I customize where fasl files are stored?225773
-Node: How can I wholly disable the compiler output cache?226866
-Node: Issues with using and extending ASDF to define systems228245
-Node: How can I cater for unit-testing in my system?228969
-Node: How can I cater for documentation generation in my system?229858
-Node: How can I maintain non-Lisp (e.g. C) source files?230379
-Ref: report-bugs230811
-Node: I want to put my module's files at the top level. How do I do this?230811
-Node: How do I create a system definition where all the source files have a .cl extension?233961
-Node: How do I mark a source file to be loaded only and not compiled?235934
-Node: How do I work with readtables?236930
-Node: ASDF development FAQs240616
-Node: How do I run the tests interactively in a REPL?240855
-Node: Ongoing Work242721
-Node: Bibliography243000
-Node: Concept Index246436
-Node: Function and Class Index252728
-Node: Variable Index264556
</span><span style="color: #000000;background-color: #ddffdd">+Node: Introduction7673
+Node: Quick start summary9976
+Node: Loading ASDF11683
+Node: Loading a pre-installed ASDF11985
+Ref: Loading a pre-installed ASDF-Footnote-113798
+Node: Checking whether ASDF is loaded13980
+Node: Upgrading ASDF14894
+Node: Replacing your implementation's ASDF15882
+Node: Loading ASDF from source17305
+Node: Configuring ASDF18406
+Node: Configuring ASDF to find your systems19179
+Ref: Configuring ASDF to find your systems-Footnote-122484
+Ref: Configuring ASDF to find your systems-Footnote-222731
+Ref: Configuring ASDF to find your systems-Footnote-323013
+Node: Configuring ASDF to find your systems --- old style23474
+Ref: Configuring ASDF to find your systems --- old style-Footnote-125901
+Ref: Configuring ASDF to find your systems --- old style-Footnote-226133
+Ref: Configuring ASDF to find your systems --- old style-Footnote-326900
+Node: Configuring where ASDF stores object files27056
+Node: Resetting the ASDF configuration28459
+Node: Using ASDF29516
+Node: Loading a system29727
+Node: Convenience Functions30744
+Ref: Convenience Functions-Footnote-136104
+Node: Moving on36182
+Node: Defining systems with defsystem36553
+Node: The defsystem form36981
+Node: A more involved example40387
+Ref: A more involved example-Footnote-147369
+Node: The defsystem grammar48051
+Ref: if-feature-option64666
+Node: Other code in .asd files66498
+Node: The package-inferred-system extension67634
+Node: The object model of ASDF71901
+Ref: The object model of ASDF-Footnote-174231
+Ref: The object model of ASDF-Footnote-274583
+Node: Operations74910
+Ref: operate76015
+Node: Predefined operations of ASDF78498
+Ref: test-op80612
+Node: Creating new operations88501
+Node: Components93714
+Ref: System names97198
+Ref: Components-Footnote-1101870
+Ref: Components-Footnote-2102166
+Node: Common attributes of components102488
+Ref: required-features104050
+Node: Pre-defined subclasses of component109897
+Node: Creating new component types112331
+Node: Dependencies113621
+Node: Functions115492
+Node: Controlling where ASDF searches for systems117326
+Node: Configurations117948
+Node: Truenames and other dangers121423
+Node: XDG base directory122709
+Node: Backward Compatibility124123
+Node: Configuration DSL124839
+Node: Configuration Directories130394
+Node: The here directive132221
+Node: Shell-friendly syntax for configuration134114
+Node: Search Algorithm135131
+Node: Caching Results136632
+Node: Configuration API139876
+Node: Introspection141915
+Node: *source-registry-parameter* variable142179
+Node: Information about system dependencies142748
+Node: Status143664
+Node: Rejected ideas144119
+Node: TODO146500
+Node: Credits for the source-registry146685
+Node: Controlling where ASDF saves compiled files147220
+Ref: Controlling where ASDF saves compiled files-Footnote-1148632
+Node: Output Configurations148676
+Ref: Output Configurations-Footnote-1151537
+Node: Output Backward Compatibility151603
+Node: Output Configuration DSL154329
+Node: Output Configuration Directories159784
+Node: Output Shell-friendly syntax for configuration161341
+Node: Semantics of Output Translations162650
+Node: Output Caching Results164219
+Node: Output location API164699
+Node: Credits for output translations167121
+Node: Error handling167641
+Node: Miscellaneous additional functionality168482
+Node: Controlling file compilation168954
+Node: Controlling source file character encoding172220
+Node: Miscellaneous Functions179035
+Ref: system-relative-pathname179332
+Ref: Miscellaneous Functions-Footnote-1184956
+Node: Some Utility Functions185067
+Node: Getting the latest version195795
+Node: FAQ196740
+Node: Where do I report a bug?197135
+Node: Mailing list197500
+Node: What has changed between ASDF 1 ASDF 2 and ASDF 3?197835
+Node: What are ASDF 1 2 3?200009
+Node: How do I detect the ASDF version?201050
+Node: ASDF can portably name files in subdirectories203357
+Node: Output translations204907
+Node: Source Registry Configuration205934
+Node: Usual operations are made easier to the user207561
+Node: Many bugs have been fixed208147
+Node: ASDF itself is versioned209979
+Node: ASDF can be upgraded210854
+Node: Decoupled release cycle212006
+Node: Pitfalls of the transition to ASDF 2212935
+Node: Pitfalls of the upgrade to ASDF 3217205
+Ref: Pitfalls of the upgrade to ASDF 3-Footnote-1221572
+Node: What happened to the bundle operations221742
+Node: Issues with installing the proper version of ASDF222844
+Node: My Common Lisp implementation comes with an outdated version of ASDF. What to do?223315
+Node: I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?224248
+Node: Issues with configuring ASDF228131
+Node: How can I customize where fasl files are stored?228506
+Node: How can I wholly disable the compiler output cache?229599
+Node: Issues with using and extending ASDF to define systems230978
+Node: How can I cater for unit-testing in my system?231739
+Node: How can I cater for documentation generation in my system?232627
+Node: How can I maintain non-Lisp (e.g. C) source files?233148
+Ref: report-bugs233580
+Node: I want to put my module's files at the top level. How do I do this?233580
+Node: How do I create a system definition where all the source files have a .cl extension?236730
+Node: How do I mark a source file to be loaded only and not compiled?238703
+Node: How do I work with readtables?239699
+Node: How can I capture ASDF's output?243426
+Node: ASDF development FAQs243857
+Node: How do I run the tests interactively in a REPL?244096
+Node: Ongoing Work245962
+Node: Bibliography246241
+Node: Concept Index249677
+Node: Function and Class Index256539
+Node: Variable Index268093
</span> 
 End Tag Table
</code></pre>

<br>
</li>
<li id='diff-3'>
<a href='https://gitlab.common-lisp.net/cmucl/cmucl/commit/184a5a0de32e47ce88ac2dfee1070090e1c98c5c#diff-3'>
<strong>
src/contrib/asdf/doc/asdf.pdf
</strong>
</a>
<hr>
<pre class="highlight"><code>Binary files a/src/contrib/asdf/doc/asdf.pdf and b/src/contrib/asdf/doc/asdf.pdf differ
</code></pre>

<br>
</li>

</div>
<div class='footer' style='margin-top: 10px;'>
<p>

<br>
<a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/184a5a0de32e47ce88ac2dfee1070090e1c98c5c">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.common-lisp.net.
If you'd like to receive fewer emails, you can
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.common-lisp.net/cmucl/cmucl/commit/184a5a0de32e47ce88ac2dfee1070090e1c98c5c"}}</script>
</p>
</div>
</body>
</html>