From 040fae9f08b40dd9978a2b9ace0c26765cd39cdf Mon Sep 17 00:00:00 2001
From: "Robert P. Goldman" <rpgoldman@sift.info>
Date: Tue, 18 Feb 2014 21:59:27 -0600
Subject: [PATCH] Fix for launchpad bug 1247662.

Ensure that SYSTEM-DEFSYSTEM-DEPENDS-ON never gets SLOT-UNBOUND error.
Also cache DEPENDS-ON and WEAKLY-DEPENDS-ON info from DEFSYSTEM.
---
 component.lisp             | 4 +++-
 system.lisp                | 1 +
 test/test-utilities.script | 6 ++++++
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/component.lisp b/component.lisp
index b2588433..854b63dd 100644
--- a/component.lisp
+++ b/component.lisp
@@ -36,7 +36,9 @@
    #:name #:version #:description #:long-description #:author #:maintainer #:licence
    #:components-by-name #:components
    #:children #:children-by-name #:default-component-class
-   #:author #:maintainer #:licence #:source-file 
+   #:author #:maintainer #:licence #:source-file
+   ;; the following retained for backward compatibility.
+   #:defsystem-depends-on
    #:sideway-dependencies #:if-feature #:in-order-to #:inline-methods
    #:relative-pathname #:absolute-pathname #:operation-times #:around-compile
    #:%encoding #:properties #:component-properties #:parent))
diff --git a/system.lisp b/system.lisp
index 5e9931e1..9e46bca1 100644
--- a/system.lisp
+++ b/system.lisp
@@ -64,6 +64,7 @@
      (source-file :initform nil :initarg :source-file :accessor system-source-file)
      (defsystem-depends-on :reader system-defsystem-depends-on :initarg :defsystem-depends-on
                            :initform nil)
+     ;; these two are specially set in parse-component-form, so have no :INITARGs.
      (depends-on :reader system-depends-on :initform nil)
      (weakly-depends-on :reader system-weakly-depends-on :initform nil)
      ))
diff --git a/test/test-utilities.script b/test/test-utilities.script
index b46145fb..38415b9f 100644
--- a/test/test-utilities.script
+++ b/test/test-utilities.script
@@ -93,6 +93,9 @@
     asdf/component:components
     asdf/component:components-by-name
     asdf/component:default-component-class
+    ;; the following is here only for backward compatibility; should be in
+    ;; asdf/system. [2014/02/20:rpg]
+    asdf/component:defsystem-depends-on    
     asdf/component:description
     asdf/component:%encoding
     asdf/component:if-feature
@@ -124,7 +127,10 @@
     asdf/system:bug-tracker
     asdf/system:build-pathname
     asdf/system:system-defsystem-depends-on
+<<<<<<< HEAD
     asdf/system:system-depends-on
+=======
+>>>>>>> Fix for launchpad bug 1247662.
     asdf/system:system-weakly-depends-on
     asdf/system:entry-point
     asdf/system:homepage
-- 
GitLab