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