From 09ff14193a132eae7c645e9b79c25eb5d466fa22 Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <tunes@google.com>
Date: Mon, 13 May 2013 08:45:18 -0400
Subject: [PATCH] 2.33.10: Fix 2.27 regression of program-op on ECL so it
 doesn't require an explicit dependency on asdf or uiop.

Also, fix some test broken by 2.33.9.
Fix run-tests.sh error message.
Make the doc more compatible with texinfo 5.
---
 asdf.asd                   |  2 +-
 bundle.lisp                | 29 +++++++++++++++++++++++------
 doc/asdf.texinfo           |  2 +-
 header.lisp                |  2 +-
 test/run-tests.sh          |  2 +-
 test/test-utilities.script |  2 ++
 upgrade.lisp               |  2 +-
 version.lisp-expr          |  2 +-
 8 files changed, 31 insertions(+), 12 deletions(-)

diff --git a/asdf.asd b/asdf.asd
index a5717821..f61bd066 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.33.9" ;; to be automatically updated by make bump-version
+  :version "2.33.10" ;; 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/bundle.lisp b/bundle.lisp
index 1dfada1d..7f4cbd33 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -433,6 +433,29 @@
 (asdf:load-system :precompiled-asdf-utils)
 |#
 
+#+(or ecl mkcl)
+(with-upgradability ()
+  (defun uiop-library-file ()
+    (or (and (find-system :uiop nil)
+             (system-source-directory :uiop)
+             (progn
+               (operate 'lib-op :uiop)
+               (output-file 'lib-op :uiop)))
+        (resolve-symlinks* (c::compile-file-pathname "sys:asdf" :type :lib))))
+  (defmethod input-files :around ((o program-op) (c system))
+    (let ((files (call-next-method))
+          (plan (traverse-sub-actions o c :plan-class 'sequential-plan)))
+      (unless (or (and (find-system :uiop nil)
+                       (system-source-directory :uiop)
+                       (plan-operates-on-p plan '("uiop")))
+                  (and (system-source-directory :asdf)
+                       (plan-operates-on-p plan '("asdf"))))
+        (pushnew (uiop-library-file) files :test 'pathname-equal))
+      files))
+
+  (defun register-pre-built-system (name)
+    (register-system (make-instance 'system :name (coerce-name name) :source-file nil))))
+
 #+ecl
 (with-upgradability ()
   (defmethod perform ((o bundle-compile-op) (c system))
@@ -466,9 +489,3 @@
   (defun bundle-system (system &rest args &key force (verbose t) version &allow-other-keys)
     (declare (ignore force verbose version))
     (apply #'operate 'binary-op system args)))
-
-#+(or ecl mkcl)
-(with-upgradability ()
-  (defun register-pre-built-system (name)
-    (register-system (make-instance 'system :name (coerce-name name) :source-file nil))))
-
diff --git a/doc/asdf.texinfo b/doc/asdf.texinfo
index d71f6bc1..fc0eb564 100644
--- a/doc/asdf.texinfo
+++ b/doc/asdf.texinfo
@@ -1952,7 +1952,7 @@ before performing @code{load-op}, we have to load @var{foo}
 The syntax is approximately
 
 @verbatim
-(this-op {(other-op required-components)}+)
+(this-op @{(other-op required-components)@}+)
 
 simple-component-name := string
                       |  symbol
diff --git a/header.lisp b/header.lisp
index 5c006107..386eaf6c 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.33.9: Another System Definition Facility.
+;;; This is ASDF 2.33.10: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/test/run-tests.sh b/test/run-tests.sh
index 7e0cc23d..f2cfecc9 100755
--- a/test/run-tests.sh
+++ b/test/run-tests.sh
@@ -117,7 +117,7 @@ do_tests () {
         echo "or more interactively (and maybe with rlwrap or in emacs), start with:" >&2
         echo "(cd test ; $cmd )" >&2
         echo "then copy/paste:" >&2
-        echo "'(#.(load \"script-support.lisp\") #.(asdf-test::da) #.(load-asdf) #.(load \"$i\"))" >&2
+        echo "'(#.(load \"script-support.lisp\") #.(asdf-test::da) #.(load-asdf) #.(frob-packages) #.(load \"$i\"))" >&2
       fi
       echo >&2
       echo >&2
diff --git a/test/test-utilities.script b/test/test-utilities.script
index 3af2c825..ab42ce0f 100644
--- a/test/test-utilities.script
+++ b/test/test-utilities.script
@@ -147,6 +147,8 @@
     uiop/os:read-null-terminated-string
     ;; backward compatibility upgrade only
     asdf/backward-internals:make-sub-operation
+    asdf/backward-interface:on-failure
+    asdf/backward-interface:on-warnings
     asdf/find-system:contrib-sysdef-search
     asdf/find-system:sysdef-find-asdf
     ))
diff --git a/upgrade.lisp b/upgrade.lisp
index 231813fe..95f1ea09 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.33.9")
+         (asdf-version "2.33.10")
          (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 a039f610..6dc71eef 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.33.9"
+"2.33.10"
-- 
GitLab