From 3e3581d2c7d16000d2ee9bf0be9c520b4626f532 Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <tunes@google.com>
Date: Sat, 2 Mar 2013 13:58:52 -0500
Subject: [PATCH] 2.31.6: disable deferred warnings check by default, until a
 smooth upgrade solution is found.

---
 asdf.asd                           |   2 +-
 doc/index.html                     | 107 ++++++++++++++---------------
 header.lisp                        |   2 +-
 interface.lisp                     |   2 +-
 lisp-build.lisp                    |   9 ++-
 operation.lisp                     |   2 +-
 test/test-deferred-warnings.script |   2 +
 test/test8.script                  |  24 +++----
 upgrade.lisp                       |   2 +-
 version.lisp-expr                  |   2 +-
 10 files changed, 79 insertions(+), 75 deletions(-)

diff --git a/asdf.asd b/asdf.asd
index 5737d576..abaea87c 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -74,7 +74,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.31.5" ;; to be automatically updated by make bump-version
+  :version "2.31.6" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   ;; For most purposes, asdf itself specially counts as a builtin system.
diff --git a/doc/index.html b/doc/index.html
index 6a51a32f..c177ea3e 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -40,19 +40,19 @@
         </p>
         <a id="what_it_is"></a>
         <h3>What it is</h3>
-        <p>ASDF 3 contains two parts: ASDF/DEFSYSTEM and ASDF/DRIVER.
+        <p>ASDF 3 contains two parts: <tt>asdf/defsystem</tt> and <tt>asdf/driver</tt>.
         </p>
-        <p>ASDF/DEFSYSTEM,
+        <p><tt>asdf/defsystem</tt>,
           is a tool to describe how Lisp source code is organized in systems,
           and how to build a system in term of actions that depend on previous actions.
         </p>
         <p>It is roughly what Common Lisp hackers use to build software
-          where C hackers might use GNU Make.
+          where C hackers might use GNU <tt>Make</tt>.
         </p>
         <p>ASDF stands for <em>A</em>nother <em>S</em>ystem <em>D</em>efinition <em>F</em>acility,
-          in the continuity of the Lisp DEFSYSTEM of yore.
+          in the continuity of the Lisp <tt>DEFSYSTEM</tt> of yore.
         </p>
-        <p>ASDF/DRIVER is a Common Lisp portability library and runtime support system
+        <p><tt>asdf/driver</tt> is a Common Lisp portability library and runtime support system
           that helps you write Common Lisp software in a portable way.
         </p>
         <p>In addition to many general-purpose Lisp utilities,
@@ -66,36 +66,36 @@
         <a id="what_it_is_not"></a>
         <h3>What it is not</h3>
         <p>ASDF will <em>not</em> download missing software components for you.
-          For that, you want <a href="http://quicklisp.org/">Quicklisp</a>,
+          For that, you want <a href="http://quicklisp.org/"><tt>Quicklisp</tt></a>,
           that builds upon ASDF, and is great for pulling and installing
           tarballs of packages you may depend upon;
-          we also recommend <a href="http://common-lisp.net/project/clbuild/">clbuild</a>,
+          we also recommend <a href="http://common-lisp.net/project/clbuild/"><tt>clbuild</tt></a>,
           that now builds upon Quicklisp, as a great tool for pulling from version control
           packages you need to modify or want to contribute to.
-          We recommend you should <em>not</em> use ASDF-Install anymore,
+          We recommend you should <em>not</em> use <tt>asdf-install</tt> anymore,
           as it is an older similar piece of software that is both unmaintained and obsolete.
         </p><p>
           If you're unsatisfied with ASDF, other actively maintained build systems for Common-Lisp
           that may or may not satisfy you include:
           Fran&ccedil;ois-Ren&eacute; Rideau's
-          <a href="http://common-lisp.net/project/xcvb/">XCVB</a>
+          <a href="http://common-lisp.net/project/xcvb/"><tt>XCVB</tt></a>
           (trying to build object and image files deterministically and in parallel),
           or its polar opposite,
           Drew McDermott's
-          <a href="http://cs-www.cs.yale.edu/homes/dvm/">YTools</a>
+          <a href="http://cs-www.cs.yale.edu/homes/dvm/"><tt>YTools</tt></a>
           (trying to maintain coherence of the current Lisp image at a fine grain),
           the newcomer
-          <a href="http://lisp.ystok.ru/asdlite/">ASDlite</a>
+          <a href="http://lisp.ystok.ru/asdlite/"><tt>ASDlite</tt></a>
           (a somewhat improved incompatible variant of ASDF 1, less featureful than ASDF 3),
-          or Alastair Bridgewater's interesting quick-build (unreleased, similar to faslpath below).
+          or Alastair Bridgewater's interesting <tt>quick-build</tt> (unreleased, similar to <tt>faslpath</tt> below).
           Older systems that are not maintained anymore include
-          Mark Kantrowitz's <a href="http://www.cliki.net/mk-defsystem">mk-defsystem</a>
+          Mark Kantrowitz's <a href="http://www.cliki.net/mk-defsystem"><tt>mk-defsystem</tt></a>
           (free software successor of the old proprietary DEFSYSTEM's and predecessor of ASDF, obsolete),
-          Sean Ross's <a href="http://sean-ross.blogspot.com/search/label/mudballs">mudballs</a>
+          Sean Ross's <a href="http://sean-ross.blogspot.com/search/label/mudballs"><tt>mudballs</tt></a>
           (an attempt at making things cleaner than in ASDF, aborted),
-          Peter Etter's <a href="http://www.cliki.net/faslpath">faslpath</a>
+          Peter Etter's <a href="http://www.cliki.net/faslpath"><tt>faslpath</tt></a>
           (a much simpler system establishing a mapping between packages and files)
-          Alexander Kahl's <a href="http://www.cliki.net/evol">evol</a>
+          Alexander Kahl's <a href="http://www.cliki.net/evol"><tt>evol</tt></a>
           (a reimplementation of the GNU autotools stack in Lisp, abandoned),
           and probably more.
           However, none of these systems seems to ever have had the traction of ASDF.
@@ -105,16 +105,17 @@
         <p>ASDF 3 now supports all CL implementations
           that seem to have any current user base, and then some.
         </p><p>
-          Most implementations provide ASDF 2 as a module,
+          Most implementations provide ASDF as a module,
           and you can simply <tt>(require "asdf")</tt>.
           (All of them but CLISP also accept
           <tt>:asdf</tt>, <tt>"ASDF"</tt> or <tt>'asdf</tt> as an argument.)
-        </p><p>
-          They will hopefully soon all provide ASDF 3,
+          All of these implementations provide at least ASDF 2,
+          and a few of them aready provide ASDF 3 (<tt>allegro</tt>, <tt>ccl</tt>, <tt>cmucl</tt>, <tt>ecl</tt>).
+          Hopefully soon all will follow suit;
           but in the meantime, you can download ASDF 3,
           and use <tt>(asdf:load-system :asdf)</tt>
           from a properly configured ASDF 2 to upgrade to the latest,
-          which you should before you use ASDF for anything else.
+          which you should do before you use ASDF for anything else.
         </p><p>
           A few implementations don't provide ASDF yet,
           but have announced they will in their next release.
@@ -130,13 +131,13 @@
             <th align="left">Will provide it</th>
             <th align="left">Obsolete</th></tr>
           <tr><th align="left">Free</th>
-            <td align="left">abcl ccl clisp cmucl ecl mkcl sbcl xcl</td>
+            <td align="left"><tt>abcl ccl clisp cmucl ecl mkcl sbcl xcl</tt></td>
             <td> </td>
-            <td align="left">gcl mcl</td></tr>
+            <td align="left"><tt>gcl mcl</tt></td></tr>
           <tr><th align="left">Proprietary</th>
-            <td align="left">allegro lispworks</td>
-            <td align="left">scl</td>
-            <td align="left">cormanlisp genera</td></tr>
+            <td align="left"><tt>allegro lispworks</tt></td>
+            <td align="left"><tt>scl</tt></td>
+            <td align="left"><tt>cormanlisp genera</tt></td></tr>
         </table>
         <!-- Note to self:
              The maintainers of the following implementations follow asdf-announce:
@@ -208,13 +209,11 @@ Peter Graves <gnooth@gmail.com>
             <a href="http://common-lisp.net/project/asdf/asdf.tar.gz">tarball</a>
             to get all bells and whistles;
           </li>
-          <li>download just the latest <em>development</em> source from our git repository:
-            <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob_plain;f=asdf.lisp;hb=HEAD">asdf.lisp</a>
-          </li>
           <li>pull the latest <em>development</em> tree from our git repository
             <pre>git clone git://common-lisp.net/projects/asdf/asdf.git</pre>
             (note that our "master" branch is for current development;
-            get our "release" branch for the latest stable release.);
+            get our "release" branch for the latest stable release.
+            Run <tt>make</tt> to create <tt>build/asdf.lisp</tt>);
           </li>
           <li>browse the latest <em>development</em> tree from our git repository:
             <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git">gitweb</a>
@@ -228,53 +227,53 @@ Peter Graves <gnooth@gmail.com>
         <p>Known extensions to ASDF include:</p>
 	<ul>
 	  <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-contrib.git"
-		 >asdf-contrib</a>,
+		 ><tt>asdf-contrib</tt></a>,
 	    a collection of most of the below.</li>
 	  <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-encodings.git"
-		 >asdf-encodings</a>,
+		 ><tt>asdf-encodings</tt></a>,
 	    to compile Lisp source files with character encodings other than UTF-8.</li>
 	  <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-finalizers.git"
-		 >asdf-finalizers</a>,
+		 ><tt>asdf-finalizers</tt></a>,
 	    to allow macros to include code to be evaluated
 	    at the end of a file being compiled.</li>
 	  <li><a href="http://common-lisp.net/gitweb?p=projects/xcvb/asdf-dependency-grovel.git"
-		 >asdf-dependency-grovel</a>,
+		 ><tt>asdf-dependency-grovel</tt></a>,
 	    to compute the actual dependencies in a big ASDF system.</li>
 	  <li><a href="http://common-lisp.net/project/qitab/"
-		 >poiu</a>,
+		 ><tt>poiu</tt></a>,
 	    to compile a system in parallel.</li>
 	  <li><a href="http://common-lisp.net/project/asdf-system-connections/"
-		 >asdf-system-connections</a>,
+		 ><tt>asdf-system-connections</tt></a>,
 	    lets you specify systems that are automatically loaded when
             two other systems are loaded, to connect them.</li>
 	  <li><a href="http://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv"
-		 >asdf-flv</a>,
+		 ><tt>asdf-flv</tt></a>,
 	    to bind file-local variables around the compilation of some files.</li>
         </ul>
         <p>Former extensions, now superseded, include:</p>
         <ul>
-	  <li>ASDF-BINARY-LOCATIONS allowed one to redirect where ASDF creates its output files,
+	  <li><tt>asdf-binary-locations</tt> allowed one to redirect where ASDF creates its output files,
             so they don't clash between implementations and don't pollute source directories.
-            It is superseded by ASDF/DEFSYSTEM's builtin ASDF-OUTPUT-TRANSLATIONS mechanism;
+            It is superseded by <tt>asdf/defsystem</tt> builtin <tt>asdf-output-translations</tt> mechanism;
             a limited compatibility mode is available to easily convert
             your former ABL configuration into an AOT configuration.
-            COMMON-LISP-CONTROLLER and CL-LAUNCH used to provide similar mechanisms,
-            and have also been superseded by ASDF-OUTPUT-TRANSLATIONS.
+            <tt>common-lisp-controller</tt> and <tt>cl-launch</tt> used to provide similar mechanisms,
+            and have also been superseded by <tt>asdf-output-translations</tt>.
           </li>
-	  <li>ASDF-BUNDLE, née ASDF-ECL,
+	  <li><tt>asdf-bundle</tt>, née <tt>asdf-ecl</tt>,
             allowed you to create a single-file bundle out of a system,
             for easier delivery.
-            It is now a builtin part of ASDF/DEFSYSTEM,
+            It is now a builtin part of <tt>asdf/defsystem</tt>,
             and allows to deliver a single FASL for a system,
             or (on supported implementations), a standalone executable program.
           </li>
-	  <li>ASDF-UTILS was a collection of utilities that originated with ASDF.
-            It is now superseded by ASDF/DRIVER, which is part of ASDF,
-            and exports its functionality in its own package ASDF/DRIVER.
+	  <li><tt>asdf-utils</tt> was a collection of utilities that originated with ASDF.
+            It is now superseded by <tt>asdf/driver</tt>, which is part of ASDF,
+            and exports its functionality in its own package <tt>asdf/driver</tt>.
           </li>
-	  <li>ASDF-CONDITION-CONTROL, initially part of XCVB's XCVB-DRIVER,
+	  <li><tt>asdf-condition-control</tt>, initially part of XCVB's <tt>xcvb-driver</tt>,
             allowed you to muffle uninteresting conditions during compilation.
-            Is now superseded by equivalent functionality in ASDF/DRIVER.
+            Is now superseded by equivalent functionality in <tt>asdf/driver</tt>.
           </li>
 	</ul>
 
@@ -316,12 +315,12 @@ Peter Graves <gnooth@gmail.com>
         <dl>
           <dt>In February 2013</dt>
           <dd>
-            ASDF 3 now includes both the traditional ASDF/DEFSYSTEM
-            and a formalized portability library ASDF/DRIVER.
-            ASDF/DEFSYSTEM is a backward-compatible reimplementation of ASDF
+            ASDF 3 now includes both the traditional <tt>asdf/defsystem</tt>
+            and a formalized portability library <tt>asdf/driver</tt>.
+            <tt>asdf/defsystem</tt> is a backward-compatible reimplementation of ASDF
             with correct timestamp propagation based on a consistent dependency model,
-            and featuring support for bundle output, deferred warnings, and more.
-            ASDF/DRIVER provides many abstractions to write portable Common Lisp programs.
+            and featuring support for bundle output, deferred warnings check, and more.
+            <tt>asdf/driver</tt> provides many abstractions to write portable Common Lisp programs.
           </dd>
           <dt>In April 2012</dt>
           <dd>
@@ -363,7 +362,7 @@ Peter Graves <gnooth@gmail.com>
           <dt>August 2001 to May 2004</dt>
           <dd>Developed by Daniel Barlow, with notable contributions from
             Christophe Rhodes, Kevin Rosenberg, Edi Weitz, Rahul Jain.
-            Last version: 1.37.
+            Last version: 1.85.
           <dt>August 2001</dt>
           <dd>Created by Daniel Barlow</dd>
       </dl>
@@ -375,7 +374,7 @@ Peter Graves <gnooth@gmail.com>
         <a class="nav" href="http://common-lisp.net/" title="Common-Lisp.net"> <img src="http://common-lisp.net/project/cl-containers/shared/buttons/lisp-lizard.png" width="80" height="15" title="Common-Lisp.net" alt="Common-Lisp.net button" /></a>
         <p><span class="copyright"Copyright &copy; 2001-2013 Daniel Barlow and contributors</span></p>
         <p>ASDF has an <a href="http://www.opensource.org/licenses/mit-license.php">MIT style</a> license</p>
-        <div id="timestamp">Last updated 2013-02-16</div>
+        <div id="timestamp">Last updated 2013-03-02</div>
     </div>
   </body>
 </html>
diff --git a/header.lisp b/header.lisp
index c182617f..7695337e 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.31.5: Another System Definition Facility.
+;;; This is ASDF 2.31.6: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/interface.lisp b/interface.lisp
index 23e280f3..efaf6681 100644
--- a/interface.lisp
+++ b/interface.lisp
@@ -134,7 +134,7 @@
    #:apply-output-translations
    #:compile-file*
    #:compile-file-pathname*
-   #:*warnings-file-type*
+   #:*warnings-file-type* #:enable-deferred-warnings-check #:disable-deferred-warnings-check
    #:enable-asdf-binary-locations-compatibility
    #:*default-source-registries*
    #:*source-registry-parameter*
diff --git a/lisp-build.lisp b/lisp-build.lisp
index 5153fd5e..bdbafcbe 100644
--- a/lisp-build.lisp
+++ b/lisp-build.lisp
@@ -22,6 +22,7 @@
    #:reify-deferred-warnings #:reify-undefined-warning #:unreify-deferred-warnings
    #:reset-deferred-warnings #:save-deferred-warnings #:check-deferred-warnings
    #:with-saved-deferred-warnings #:warnings-file-p #:warnings-file-type #:*warnings-file-type*
+   #:enable-deferred-warnings-check #:disable-deferred-warnings-check
    #:current-lisp-file-pathname #:load-pathname
    #:lispize-pathname #:compile-file-type #:call-around-hook
    #:compile-file* #:compile-file-pathname*
@@ -446,9 +447,15 @@ possibly in a different process."
       ((:clozure :ccl) "ccl-warnings")
       ((:scl) "scl-warnings")))
 
-  (defvar *warnings-file-type* (warnings-file-type)
+  (defvar *warnings-file-type* nil
     "Type for warnings files")
 
+  (defun enable-deferred-warnings-check ()
+    (setf *warnings-file-type* (warnings-file-type)))
+
+  (defun disable-deferred-warnings-check ()
+    (setf *warnings-file-type* nil))
+
   (defun warnings-file-p (file &optional implementation-type)
     (if-let (type (if implementation-type
                       (warnings-file-type implementation-type)
diff --git a/operation.lisp b/operation.lisp
index 85547aa2..ae4972ad 100644
--- a/operation.lisp
+++ b/operation.lisp
@@ -2,7 +2,7 @@
 ;;;; Operations
 
 (asdf/package:define-package :asdf/operation
-  (:recycle :asdf/operation :asdf)
+  (:recycle :asdf/operation :asdf/action :asdf) ;; asdf/action for FEATURE pre 2.31.5.
   (:use :asdf/common-lisp :asdf/driver :asdf/upgrade)
   (:export
    #:operation
diff --git a/test/test-deferred-warnings.script b/test/test-deferred-warnings.script
index 1624b3c9..3ec10ff3 100644
--- a/test/test-deferred-warnings.script
+++ b/test/test-deferred-warnings.script
@@ -2,6 +2,8 @@
 
 (in-package :asdf-test)
 
+(enable-deferred-warnings-check)
+
 (def-test-system :unintern-foo
   :components ((:file "unintern-foo")))
 (def-test-system :use-foo-only
diff --git a/test/test8.script b/test/test8.script
index eb01c6bd..3857f50e 100644
--- a/test/test8.script
+++ b/test/test8.script
@@ -2,19 +2,15 @@
 
 ;;; make sure we get a missing-component error
 
-
-
 (in-package :asdf-test)
 
-(progn
-  (trace operate)
-  (handler-case
-      (asdf:oos 'asdf:load-op 'system-does-not-exist)
-    (asdf:missing-component-of-version (c)
-      (declare (ignore c))
-      (error "Should not have gotten 'missing-component-of-version, dang"))
-    (asdf:missing-component (c)
-      (format t "got missing-component as expected: - ~%~A~%" c))
-    (:no-error (c)
-     (declare (ignore c))
-      (error "should have failed, oops"))))
+(handler-case
+    (asdf:oos 'asdf:load-op 'system-does-not-exist)
+  (asdf:missing-component-of-version (c)
+    (declare (ignore c))
+    (error "Should not have gotten 'missing-component-of-version, dang"))
+  (asdf:missing-component (c)
+    (format t "got missing-component as expected: - ~%~A~%" c))
+  (:no-error (c)
+    (declare (ignore c))
+    (error "should have failed, oops")))
diff --git a/upgrade.lisp b/upgrade.lisp
index b83ac422..88356cfd 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
          ;; "3.4.5.67" would be a development version in the official upstream 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
-         (asdf-version "2.31.5")
+         (asdf-version "2.31.6")
          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
diff --git a/version.lisp-expr b/version.lisp-expr
index 072de5e3..173f1f81 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.31.5"
+"2.31.6"
-- 
GitLab