CMUCL commit: src/contrib/asdf (asdf.lisp)

Raymond Toy rtoy at common-lisp.net
Sat Sep 18 01:25:58 CEST 2010


    Date: Friday, September 17, 2010 @ 19:25:58
  Author: rtoy
    Path: /project/cmucl/cvsroot/src/contrib/asdf

Modified: asdf.lisp

Update to upstream asdf 2.008.


-----------+
 asdf.lisp |   48 ++++++++++++++++++++++++++++--------------------
 1 file changed, 28 insertions(+), 20 deletions(-)


Index: src/contrib/asdf/asdf.lisp
diff -u src/contrib/asdf/asdf.lisp:1.7 src/contrib/asdf/asdf.lisp:1.8
--- src/contrib/asdf/asdf.lisp:1.7	Thu Aug 26 09:09:22 2010
+++ src/contrib/asdf/asdf.lisp	Fri Sep 17 19:25:58 2010
@@ -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 @@
   (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 @@
                   '(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 @@
 (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 @@
       (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 @@
                 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 @@
   ;; 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)



More information about the cmucl-commit mailing list