From ad120a84b6b5b71399bdc15a015a68f3a89cd5f5 Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <fare@tunes.org>
Date: Wed, 17 Mar 2010 01:30:32 -0400
Subject: [PATCH] 1.648: change some internals while we can, to make XCVB
 happier. Tiny documentation tweak.

---
 asdf.lisp    | 41 +++++++++++++++++------------------------
 asdf.texinfo |  2 +-
 2 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/asdf.lisp b/asdf.lisp
index 2a27720c..98d8e807 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -251,7 +251,7 @@
   ;; This parameter isn't actually user-visible
   ;; -- please use the exported function ASDF:ASDF-VERSION below.
   ;; the 1+ hair is to ensure that we don't do an inadvertent find and replace
-  (subseq "VERSION:1.647" (1+ (length "VERSION"))))
+  (subseq "VERSION:1.648" (1+ (length "VERSION"))))
 
 (defun asdf-version ()
   "Exported interface to the version of ASDF currently installed. A string.
@@ -469,8 +469,6 @@ does not have an absolute directory, then the HOST and DEVICE come from the DEFA
   (apply #'format *verbose-out* format-string format-args))
 
 (defun split-string (string &key max (separator '(#\Space #\Tab)))
-  ;; Beware: this API function has changed in ASDF 1.628!
-  ;; optional arguments became keyword arguments, and max now works from the end.
   "Split STRING in components separater by any of the characters in the sequence SEPARATOR,
 return a list.
 If MAX is specified, then no more than max(1,MAX) components will be returned,
@@ -2863,31 +2861,26 @@ with a different configuration, so the configuration would be re-read then."
       ((:ignore-inherited-configuration)
        nil))))
 
-(defun flatten-source-registry (registries)
-  (while-collecting (collect)
-    (inherit-source-registry
-     registries
-     :register (lambda (directory &key recurse exclude)
-                 (collect (list directory :recurse recurse :exclude exclude))))))
+(defun flatten-source-registry (&optional parameter)
+  (remove-duplicates
+   (while-collecting (collect)
+     (inherit-source-registry
+      `(wrapping-source-registry
+        ,parameter
+        ,@*default-source-registries*)
+      :register (lambda (directory &key recurse exclude)
+                  (collect (list directory :recurse recurse :exclude exclude)))))
+   :test 'equal :from-end nil))
 
 ;; Will read the configuration and initialize all internal variables,
 ;; and return the new configuration.
 (defun compute-source-registry (&optional parameter)
-  (let* ((flattened
-          (flatten-source-registry
-           `(wrapping-source-registry
-             ,parameter
-             ,@*default-source-registries*)))
-         (simplified
-          (remove-duplicates flattened :test 'equal :from-end nil))
-         (processed
-          (while-collecting (collect)
-            (dolist (entry simplified)
-              (destructuring-bind (directory &key recurse exclude) entry
-                (register-asd-directory
-                 directory
-                 :recurse recurse :exclude exclude :collect #'collect))))))
-    processed))
+  (while-collecting (collect)
+    (dolist (entry (flatten-source-registry parameter))
+      (destructuring-bind (directory &key recurse exclude) entry
+        (register-asd-directory
+         directory
+         :recurse recurse :exclude exclude :collect #'collect)))))
 
 (defun initialize-source-registry (&optional parameter)
   (setf (source-registry) (compute-source-registry parameter)))
diff --git a/asdf.texinfo b/asdf.texinfo
index c098c214..b672076b 100644
--- a/asdf.texinfo
+++ b/asdf.texinfo
@@ -2337,7 +2337,7 @@ In the meantime, you can load @file{asdf.lisp} directly.
 
 @section ``What has changed since ASDF 1?''
 
-TODO: answer that question.
+TODO: answer that question, with subsections per sub-question, and rationale.
 
 
 @section ``How can I cater for unit-testing in my system?''
-- 
GitLab