From 8ea710a073ef56f7f9c3ef2229a95689a061a73a Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <fare@tunes.org>
Date: Sat, 5 May 2012 11:22:34 -0400
Subject: [PATCH] 2.21.1: require now skips loaded-systems just like
 require-system. ECL tweaks.

---
 asdf-ecl.lisp | 5 ++---
 asdf.asd      | 2 +-
 asdf.lisp     | 8 ++++----
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/asdf-ecl.lisp b/asdf-ecl.lisp
index 86185e593..cdf6166f7 100644
--- a/asdf-ecl.lisp
+++ b/asdf-ecl.lisp
@@ -83,6 +83,7 @@
                      (slot-value instance 'original-initargs))))
 
 (defmethod bundle-op-build-args :around ((op lib-op))
+  (declare (ignorable op))
   (let ((args (call-next-method)))
     (remf args :ld-flags)
     args))
@@ -142,6 +143,7 @@
                      :filter-system (and (not (bundle-op-monolithic-p o)) c)
                      :filter-type '(not system)))
 (defmethod bundle-sub-operations ((o monolithic-lib-op) c)
+  (declare (ignorable o))
   (gather-components 'compile-op c
                      :filter-system nil
                      :filter-type '(not system)))
@@ -432,6 +434,3 @@
                        (and (first l) (register-pre-built-system name))
                        (values-list l)))))
 #+win32 (push '("asd" . si::load-source) ext:*load-hooks*)
-(pushnew (translate-logical-pathname "SYS:") *central-registry*)
-
-(provide :asdf)
diff --git a/asdf.asd b/asdf.asd
index b86cd53ea..07e16e7ca 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -14,7 +14,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.21" ;; to be automatically updated by bin/bump-revision
+  :version "2.21.1" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
   :components
   ((:file "asdf")
diff --git a/asdf.lisp b/asdf.lisp
index b7ad1dd6b..c7e20e453 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.21: Another System Definition Facility.
+;;; This is ASDF 2.21.1: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
@@ -116,7 +116,7 @@
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.21")
+         (asdf-version "2.21.1")
          (existing-asdf (find-class 'component nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))
@@ -3687,7 +3687,7 @@ Please remove it from your ASDF configuration"))
     #+sbcl ,(let ((h (getenv "SBCL_HOME")))
                  (when (plusp (length h)) `((,(truenamize h) ,*wild-inferiors*) ())))
     ;; The below two are not needed: no precompiled ASDF system there
-    ;; #+ecl (,(translate-logical-pathname "SYS:**;*.*") ())
+    #+ecl (,(translate-logical-pathname "SYS:**;*.*") ())
     ;; #+clozure ,(ignore-errors (list (wilden (let ((*default-pathname-defaults* #p"")) (truename #p"ccl:"))) ()))
     ;; All-import, here is where we want user stuff to be:
     :inherit-configuration
@@ -4399,7 +4399,7 @@ with a different configuration, so the configuration would be re-read then."
     (let ((*verbose-out* (make-broadcast-stream))
           (system (find-system (string-downcase name) nil)))
       (when system
-        (operate *require-asdf-operator* system :verbose nil)
+        (operate *require-asdf-operator* system :verbose nil :force-not (loaded-systems))
         t))))
 
 #+(or abcl clisp clozure cmu ecl sbcl)
-- 
GitLab