Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 63028c1

Browse files
committedNov 12, 2015
Fix quickloading :defsystem-depends-on dependencies.
Requires at least ASDF 3.1.7, or maybe newer, depending on when the ASDF fix will be released.
1 parent 690b3a0 commit 63028c1

File tree

1 file changed

+29
-28
lines changed

1 file changed

+29
-28
lines changed
 

‎quicklisp/setup.lisp

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -166,34 +166,35 @@ Quicklisp-provided systems first, and catching ASDF missing
166166
dependencies too if possible."
167167
(setf name (string-downcase name))
168168
(with-simple-restart (abort "Give up on ~S" name)
169-
(let ((strategy (compute-load-strategy name))
170-
(tried-so-far (make-hash-table :test 'equalp)))
171-
(show-load-strategy strategy)
172-
(when (or (not prompt)
173-
(press-enter-to-continue))
174-
(tagbody
175-
retry
176-
(handler-case (apply-load-strategy strategy)
177-
(asdf:missing-dependency-of-version (c)
178-
;; Nothing Quicklisp can do to recover from this, so just
179-
;; resignal
180-
(error c))
181-
(asdf:missing-dependency (c)
182-
(let ((parent (asdf::missing-required-by c))
183-
(missing (asdf::missing-requires c)))
184-
(typecase parent
185-
(asdf:system
186-
(if (gethash missing tried-so-far)
187-
(error "Dependency looping -- already tried to load ~
188-
~A" missing)
189-
(setf (gethash missing tried-so-far) missing))
190-
(autoload-system-and-dependencies missing
191-
:prompt prompt)
192-
(go retry))
193-
(t
194-
;; Error isn't from a system dependency, so there's
195-
;; nothing to autoload
196-
(error c)))))))))
169+
(let ((tried-so-far (make-hash-table :test 'equalp)))
170+
(tagbody
171+
retry
172+
(handler-case
173+
(let ((strategy (compute-load-strategy name)))
174+
(show-load-strategy strategy)
175+
(when (or (not prompt)
176+
(press-enter-to-continue))
177+
(apply-load-strategy strategy)))
178+
(asdf:missing-dependency-of-version (c)
179+
;; Nothing Quicklisp can do to recover from this, so just
180+
;; resignal
181+
(error c))
182+
(asdf:missing-dependency (c)
183+
(let ((parent (asdf::missing-required-by c))
184+
(missing (asdf::missing-requires c)))
185+
(typecase parent
186+
(asdf:system
187+
(if (gethash missing tried-so-far)
188+
(error "Dependency looping -- already tried to load ~
189+
~A" missing)
190+
(setf (gethash missing tried-so-far) missing))
191+
(autoload-system-and-dependencies missing
192+
:prompt prompt)
193+
(go retry))
194+
(t
195+
;; Error isn't from a system dependency, so there's
196+
;; nothing to autoload
197+
(error c))))))))
197198
name))
198199

199200
(defvar *initial-dist-url*

0 commit comments

Comments
 (0)
Please sign in to comment.