diff --git a/parse-defsystem.lisp b/parse-defsystem.lisp index 49f2e12b1862129306367bb5c7d395bf6b055f6c..c500f50976f1436801389c3b93be5b08cda134c6 100644 --- a/parse-defsystem.lisp +++ b/parse-defsystem.lisp @@ -250,8 +250,9 @@ system names contained using COERCE-NAME. Return the result." :name name :source-file source-file)) (component-options (remove-plist-keys '(:defsystem-depends-on :class) options)) - (defsystem-dependencies (loop :for spec :in defsystem-depends-on :collect - (resolve-dependency-spec nil spec)))) + (defsystem-dependencies (loop :for spec :in defsystem-depends-on + :when (resolve-dependency-spec nil spec) + :collect :it))) ;; cache defsystem-depends-on in canonical form (when defsystem-depends-on (setf component-options diff --git a/test/test-defsystem-depends-on.script b/test/test-defsystem-depends-on.script index e6eae133a5c984d6c896361b4b46244095ad8d54..733bb2dbdb43a460d6ab86e48384517a79d01cb7 100644 --- a/test/test-defsystem-depends-on.script +++ b/test/test-defsystem-depends-on.script @@ -1,5 +1,7 @@ ;;-*- Lisp -*- +(in-package :asdf-test) + (def-test-system test-defsystem-depends-on-1 :defsystem-depends-on (test-asdf/l-file) :default-component-class "l-file:cl-source-file.l" @@ -32,6 +34,7 @@ (defparameter *newsym* (gentemp (symbol-name 'feature) :keyword)) ;;; FIXME: the following form triggers bug https://bugs.launchpad.net/asdf/+bug/1445638 -#+nil (eval `(def-test-system test-defsystem-depends-on-4 :defsystem-depends-on ((:feature ,*newsym* "test-defsystem-depends-on-3")))) + +(assert (find-system "test-defsystem-depends-on-4"))