Skip to content

Commit

Permalink
Fixes processing dependencies like (:feature :windows "winhttp")
Browse files Browse the repository at this point in the history
This fixes issue svspire#1.

The problem was because `asdf::resolve-dependency-spec` can return nil if feature is not supported in the current lisp implementation:

```lisp
CL-USER> (member :windows *features*)
NIL

CL-USER> (asdf::resolve-dependency-spec :dexador '(:feature :windows "winhttp"))
NIL

;; but
CL-USER> (asdf::resolve-dependency-spec :dexador "winhttp")
#<ASDF/SYSTEM:SYSTEM "winhttp">
```
  • Loading branch information
svetlyak40wt committed Oct 16, 2020
1 parent d6cf792 commit 41d3d16
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions quickfork.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,12 @@ type (e.g. :git, :mercurial, etc.) and their upstream repository location")

(defun direct-dependencies (project-name)
"Return the direct dependencies of project"
(mapcar (lambda (dependency)
(asdf::resolve-dependency-spec project-name dependency))
(asdf:system-depends-on (asdf:find-system project-name))))
(loop with main-system = (asdf:find-system project-name)
with dependencies = (asdf:system-depends-on main-system)
for dependency in dependencies
for dep-system = (asdf::resolve-dependency-spec project-name dependency)
when dep-system
collect dep-system))

(defun %all-dependencies (project-list accum-table)
(when project-list
Expand Down

0 comments on commit 41d3d16

Please sign in to comment.