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
Loading
Loading
Loading
Loading
+17 −24
Original line number Diff line number Diff line
@@ -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)
(defun flatten-source-registry (&optional parameter)
  (remove-duplicates
   (while-collecting (collect)
     (inherit-source-registry
     registries
      `(wrapping-source-registry
        ,parameter
        ,@*default-source-registries*)
      :register (lambda (directory &key recurse exclude)
                 (collect (list directory :recurse recurse :exclude 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)
    (dolist (entry (flatten-source-registry parameter))
      (destructuring-bind (directory &key recurse exclude) entry
        (register-asd-directory
         directory
                 :recurse recurse :exclude exclude :collect #'collect))))))
    processed))
         :recurse recurse :exclude exclude :collect #'collect)))))

(defun initialize-source-registry (&optional parameter)
  (setf (source-registry) (compute-source-registry parameter)))
+1 −1
Original line number Diff line number Diff line
@@ -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?''