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

Bless 2.128 as 2.008

Merge branch 'master' into release

Conflicts:
	asdf.lisp
parents 64b35ab9 f5bd947f
Loading
Loading
Loading
Loading
+28 −20
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@
  (defvar *asdf-version* nil)
  (defvar *upgraded-p* nil)
  (let* ((asdf-version ;; the 1+ helps the version bumping script discriminate
          (subseq "VERSION:2.007" (1+ (length "VERSION")))) ; same as 2.124
          (subseq "VERSION:2.008" (1+ (length "VERSION")))) ; same as 2.128
         (existing-asdf (fboundp 'find-system))
         (existing-version *asdf-version*)
         (already-there (equal asdf-version existing-version)))
@@ -176,6 +176,9 @@
                   :shadow ',shadow
                   :unintern ',(append #-(or gcl ecl) redefined-functions unintern)
                   :fmakunbound ',(append fmakunbound))))
          (let ((u (find-package :asdf-utilities)))
            (when u
              (ensure-unintern u (loop :for s :being :each :present-symbol :in u :collect s))))
          (pkgdcl
           :asdf
           :use (:common-lisp)
@@ -287,29 +290,29 @@
            #:clear-source-registry
            #:ensure-source-registry
            #:process-source-registry
            #:system-registered-p
            #:asdf-message

            ;; Utilities
            #:absolute-pathname-p
            #:aif
            #:appendf
            #:asdf-message
	    ;; #:aif #:it
            ;; #:appendf
            #:coerce-name
            #:directory-pathname-p
            #:ends-with
            ;; #:ends-with
            #:ensure-directory-pathname
            #:getenv
            #:get-uid
            #:length=n-p
            ;; #:get-uid
            ;; #:length=n-p
            #:merge-pathnames*
            #:pathname-directory-pathname
            #:read-file-forms
            #:remove-keys
            #:remove-keyword
	    ;; #:remove-keys
	    ;; #:remove-keyword
            #:resolve-symlinks
            #:split-string
            #:component-name-to-pathname-components
            #:split-name-type
            #:system-registered-p
            #:truenamize
            #:while-collecting)))
        (setf *asdf-version* asdf-version
@@ -531,7 +534,7 @@ Also, if either argument is NIL, then the other argument is returned unmodified.
  (let* ((specified (pathname specified))
         (defaults (pathname defaults))
         (directory (pathname-directory specified))
         #-sbcl (directory (if (stringp directory) `(:absolute ,directory) directory))
         #-(or sbcl cmu) (directory (if (stringp directory) `(:absolute ,directory) directory))
         (name (or (pathname-name specified) (pathname-name defaults)))
         (type (or (pathname-type specified) (pathname-type defaults)))
         (version (or (pathname-version specified) (pathname-version defaults))))
@@ -740,7 +743,9 @@ actually-existing directory."
                  '(ffi:clines "#include <sys/types.h>" "#include <unistd.h>"))
  (defun* get-uid ()
    #+allegro (excl.osi:getuid)
    #+clisp (posix:uid)
    #+clisp (loop :for s :in '("posix:uid" "LINUX:getuid")
	          :for f = (ignore-errors (read-from-string s))
                  :when f :return (funcall f))
    #+(or cmu scl) (unix:unix-getuid)
    #+ecl #.(cl:if (cl:< ext:+ecl-version-number+ 100601)
                   '(ffi:c-inline () () :int "getuid()" :one-liner t)
@@ -764,11 +769,13 @@ actually-existing directory."
(defun* probe-file* (p)
  "when given a pathname P, probes the filesystem for a file or directory
with given pathname and if it exists return its truename."
  (and (pathnamep p) (not (wild-pathname-p p))
       #+(or allegro clozure cmu ecl sbcl scl) (probe-file p)
       #+clisp (ext:probe-pathname p)
       #-(or allegro clisp clozure cmu ecl sbcl scl)
       (ignore-errors (truename p))))
  (etypecase p
   (null nil)
   (string (probe-file* (parse-namestring p)))
   (pathname (unless (wild-pathname-p p)
               #.(or #+(or allegro clozure cmu ecl sbcl scl) '(probe-file p)
               #+clisp (aif (find-symbol (string :probe-pathname) :ext) `(,it p))
	       '(ignore-errors (truename p)))))))

(defun* truenamize (p)
  "Resolve as much of a pathname as possible"
@@ -779,7 +786,7 @@ with given pathname and if it exists return its truename."
      (when (typep p 'logical-pathname) (return p))
      (let ((found (probe-file* p)))
        (when found (return found)))
      #-sbcl (when (stringp directory) (return p))
      #-(or sbcl cmu) (when (stringp directory) (return p))
      (when (not (eq :absolute (car directory))) (return p))
      (let ((sofar (probe-file* (pathname-root p))))
        (unless sofar (return p))
@@ -857,7 +864,8 @@ with given pathname and if it exists return its truename."
                error-name error-pathname error-condition
                duplicate-names-name
                error-component error-operation
                module-components module-components-by-name)
                module-components module-components-by-name
                circular-dependency-components)
         (ftype (function (t t) t) (setf module-components-by-name)))


@@ -1353,7 +1361,7 @@ to ~S which is not a directory.~@:>"
  ;; NOTE that the host and device slots will be taken from the defaults,
  ;; but that should only matter if you either (a) use absolute pathnames, or
  ;; (b) later merge relative pathnames with CL:MERGE-PATHNAMES instead of
  ;; ASDF-UTILITIES:MERGE-PATHNAMES*
  ;; ASDF:MERGE-PATHNAMES*
  (etypecase name
    (pathname
     name)
+35 −4
Original line number Diff line number Diff line
@@ -1891,8 +1891,10 @@ and for XCVB the corresponding functions are in package XCVB.
@defun clear-source-registry
   undoes any source registry configuration
   and clears any cache for the search algorithm.
   You might want to call that before you
   dump an image that would be resumed with a different configuration,
   You might want to call this function
   (or better, @code{clear-configuration})
   before you dump an image that would be resumed
   with a different configuration,
   and return an empty configuration.
   Note that this does not include clearing information about
   systems defined in the current image, only about
@@ -1904,6 +1906,15 @@ and for XCVB the corresponding functions are in package XCVB.
   If not, initialize it with the given @var{PARAMETER}.
@end defun

Every time you use ASDF's @code{find-system}, or
anything that uses it (such as @code{operate}, @code{load-system}, etc.),
@code{ensure-source-registry} is called with parameter NIL,
which the first time around causes your configuration to be read.
If you change a configuration file,
you need to explicitly @code{initialize-source-registry} again,
or maybe simply to @code{clear-source-registry} (or @code{clear-configuration})
which will cause the initialization to happen next time around.


@section Future

@@ -2375,8 +2386,10 @@ The specified functions are exported from package ASDF.
@defun clear-output-translations
   undoes any output translation configuration
   and clears any cache for the mapping algorithm.
   You might want to call that before you
   dump an image that would be resumed with a different configuration,
   You might want to call this function
   (or better, @code{clear-configuration})
   before you dump an image that would be resumed
   with a different configuration,
   and return an empty configuration.
   Note that this does not include clearing information about
   systems defined in the current image, only about
@@ -2394,6 +2407,15 @@ The specified functions are exported from package ASDF.
   (calls @code{ensure-output-translations} for the translations).
@end defun

Every time you use ASDF's @code{output-files}, or
anything that uses it (that may compile, such as @code{operate}, @code{perform}, etc.),
@code{ensure-output-translations} is called with parameter NIL,
which the first time around causes your configuration to be read.
If you change a configuration file,
you need to explicitly @code{initialize-output-translations} again,
or maybe @code{clear-output-translations} (or @code{clear-configuration}),
which will cause the initialization to happen next time around.


@section Credits for output translations

@@ -3140,6 +3162,15 @@ initform for the @code{type} slot:
   ((type :initform "cl")))
@end lisp

To support both ASDF 1 and ASDF 2,
you may omit the above @code{type} slot definition and instead define:

@lisp
(defmethod source-file-type ((f my-cl-source-file) (m module))
  (declare (ignorable f m))
  "cl")
@end lisp

Then make your system use this subclass in preference to the standard
one:

+3 −3
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
    <div class="contents">
        <a id="ASDF 2"></a>
        <h3>ASDF 2</h3>
        <p>We recently released ASDF 2 (on May 31st 2010).
        <p>We released ASDF 2 on May 31st 2010.
          It will hopefully be bundled will all official releases
          of Common Lisp implementations made after that date.
        </p>
@@ -98,7 +98,7 @@
        <a id="news"></a>
        <h3>What is happening</h3>
        <dl>
          <dt>December 2009 to August 2010</dt>
          <dt>Since December 2009</dt>
          <dd>Fran&ccedil;ois-Ren&eacute; Rideau is de facto maintainer,
            with notable contributions from Robert P. Goldman,
            Juanjo Garcia-Ripoll and James Anderson.
@@ -133,7 +133,7 @@
        <a class="nav" href="http://common-lisp.net/" title="Common-Lisp.net"> <img src="http://common-lisp.net/project/cl-containers/shared/buttons/lisp-lizard.png" width="80" height="15" title="Common-Lisp.net" alt="Common-Lisp.net button" /></a>
        <p><span class="copyright"Copyright &copy; 2001-2010 Daniel Barlow and contributors</span></p>
        <p>ASDF has an <a href="http://www.opensource.org/licenses/mit-license.php">MIT style</a> license</p>
        <div id="timestamp">Last updated 2010-06-02</div>
        <div id="timestamp">Last updated 2010-10-06</div>
    </div>
  </body>
</html>