Commit ad120a84 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

1.648: change some internals while we can, to make XCVB happier.

Tiny documentation tweak.
parent 16a921bf
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
;; This parameter isn't actually user-visible ;; This parameter isn't actually user-visible
;; -- please use the exported function ASDF:ASDF-VERSION below. ;; -- 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 ;; 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 () (defun asdf-version ()
"Exported interface to the version of ASDF currently installed. A string. "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 ...@@ -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)) (apply #'format *verbose-out* format-string format-args))
(defun split-string (string &key max (separator '(#\Space #\Tab))) (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, "Split STRING in components separater by any of the characters in the sequence SEPARATOR,
return a list. return a list.
If MAX is specified, then no more than max(1,MAX) components will be returned, 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." ...@@ -2863,31 +2861,26 @@ with a different configuration, so the configuration would be re-read then."
((:ignore-inherited-configuration) ((:ignore-inherited-configuration)
nil)))) nil))))
(defun flatten-source-registry (registries) (defun flatten-source-registry (&optional parameter)
(while-collecting (collect) (remove-duplicates
(inherit-source-registry (while-collecting (collect)
registries (inherit-source-registry
:register (lambda (directory &key recurse exclude) `(wrapping-source-registry
(collect (list directory :recurse recurse :exclude exclude)))))) ,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, ;; Will read the configuration and initialize all internal variables,
;; and return the new configuration. ;; and return the new configuration.
(defun compute-source-registry (&optional parameter) (defun compute-source-registry (&optional parameter)
(let* ((flattened (while-collecting (collect)
(flatten-source-registry (dolist (entry (flatten-source-registry parameter))
`(wrapping-source-registry (destructuring-bind (directory &key recurse exclude) entry
,parameter (register-asd-directory
,@*default-source-registries*))) directory
(simplified :recurse recurse :exclude exclude :collect #'collect)))))
(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))
(defun initialize-source-registry (&optional parameter) (defun initialize-source-registry (&optional parameter)
(setf (source-registry) (compute-source-registry parameter))) (setf (source-registry) (compute-source-registry parameter)))
......
...@@ -2337,7 +2337,7 @@ In the meantime, you can load @file{asdf.lisp} directly. ...@@ -2337,7 +2337,7 @@ In the meantime, you can load @file{asdf.lisp} directly.
@section ``What has changed since ASDF 1?'' @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?'' @section ``How can I cater for unit-testing in my system?''
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment