2.26.71: Fix obvious breakage on SBCL.
authorFrancois-Rene Rideau <tunes@google.com>
Thu, 10 Jan 2013 23:48:38 +0000 (18:48 -0500)
committerFrancois-Rene Rideau <tunes@google.com>
Thu, 10 Jan 2013 23:48:38 +0000 (18:48 -0500)
Make default-directory a root pathname, remove it from source-registry.
Have it use lisp-implementation-directory.
Remove any attempt to use the "current directory".
Users who want that can still try to
(pushnew '*default-pathname-defaults* asdf:*central-registry*)

Rename tmp/ to build/ and move asdf.lisp there. Update asdf.asd.
Rename implementation.lisp to compatibility.lisp.
Move *asdf-verbose* and asdf-message to upgrade.lisp

25 files changed:
Makefile
action.lisp
asdf.asd
backward-interface.lisp
backward-internals.lisp
compatibility.lisp [moved from implementation.lisp with 91% similarity]
component.lisp
configuration.lisp
defsystem.lisp
find-system.lisp
footer.lisp
generate-asdf.asd
header.lisp
interface.lisp
lisp-action.lisp
lisp-build.lisp
operate.lisp
os.lisp
package.lisp
pathname.lisp
plan.lisp
source-registry.lisp
test/script-support.lisp
upgrade.lisp
utility.lisp

index 3f9e2f4..d3d85cf 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ else
 lisps ?= ccl clisp sbcl ecl ecl_bytecodes cmucl abcl scl allegro lispworks allegromodern xcl gcl
 endif
 
-export ASDF_OUTPUT_TRANSLATIONS := (:output-translations (t ("${sourceDirectory}/tmp/fasls" :implementation)) :ignore-inherited-configuration)
+export ASDF_OUTPUT_TRANSLATIONS := (:output-translations (t ("${sourceDirectory}/build/fasls" :implementation)) :ignore-inherited-configuration)
 export CL_SOURCE_REGISTRY := (:source-registry (:tree "${sourceDirectory}") :ignore-inherited-configuration)
 
 ## MAJOR FAIL: gclcvs -- COMPILER BUG! Upstream fixed it, but upstream fails to compile.
@@ -43,17 +43,17 @@ archive:
                --eval "(rewrite-license)" --eval "(quit)"
        bin/make-tarball
 
-archive-copy: archive tmp/asdf.lisp
+archive-copy: archive build/asdf.lisp
        git checkout release
-       bin/rsync-cp tmp/asdf*.tar.gz $(webhome_private)/archives
+       bin/rsync-cp build/asdf*.tar.gz $(webhome_private)/archives
        bin/link-tarball $(clnet_home)
-       bin/rsync-cp tmp/asdf.lisp $(webhome_private)
+       bin/rsync-cp build/asdf.lisp $(webhome_private)
        ${MAKE} push
        git checkout master
 
-tmp/asdf.lisp: $(wildcard *.lisp)
-       mkdir -p tmp
-       cat header.lisp package.lisp implementation.lisp utility.lisp upgrade.lisp pathname.lisp os.lisp component.lisp system.lisp find-system.lisp find-component.lisp lisp-build.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp configuration.lisp output-translations.lisp source-registry.lisp backward-internals.lisp defsystem.lisp bundle.lisp concatenate-source.lisp backward-interface.lisp interface.lisp footer.lisp > $@
+build/asdf.lisp: $(wildcard *.lisp)
+       mkdir -p build
+       cat header.lisp package.lisp compatibility.lisp utility.lisp upgrade.lisp pathname.lisp os.lisp component.lisp system.lisp find-system.lisp find-component.lisp lisp-build.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp configuration.lisp output-translations.lisp source-registry.lisp backward-internals.lisp defsystem.lisp bundle.lisp concatenate-source.lisp backward-interface.lisp interface.lisp footer.lisp > $@
 
 push:
        git status
@@ -82,13 +82,13 @@ clean:
                done; \
             fi; \
        done
-       rm -rf tmp/ LICENSE test/try-reloading-dependency.asd
+       rm -rf build/ LICENSE test/try-reloading-dependency.asd
        ${MAKE} -C doc clean
 
 mrproper: clean
        rm -rf .pc/ build-stamp debian/patches/ debian/debhelper.log debian/cl-asdf/ # debian crap
 
-test-upgrade: tmp/asdf.lisp
+test-upgrade: build/asdf.lisp
        # 1.37 is the last release by Daniel Barlow
        # 1.97 is the last release before Gary King takes over
        # 1.369 is the last release by Gary King
@@ -116,7 +116,7 @@ test-upgrade: tmp/asdf.lisp
          for x in load-system load-lisp load-lisp-compile-load-fasl load-fasl just-load-fasl ; do \
            lo="(asdf-test::load-old-asdf \"$${tag}\")" ; \
            echo "Testing upgrade from ASDF $${tag} using method $$x" ; \
-           git show $${tag}:asdf.lisp > tmp/asdf-$${tag}.lisp ; \
+           git show $${tag}:asdf.lisp > build/asdf-$${tag}.lisp ; \
            case ${lisp}:$$tag:$$x in \
              abcl:2.0[01][1-9]:*|abcl:2.2[1-2]:*) \
                : Skip, because it is so damn slow ;; \
@@ -141,12 +141,12 @@ test-upgrade: tmp/asdf.lisp
                    *) echo "WTF?" ; exit 2 ;; esac ; \
                  $$lv "(asdf-test::test-asdf $$l)" ) || \
                { echo "upgrade FAILED" ; exit 1 ;} ;; esac ; \
-       done ; done 2>&1 | tee tmp/results/${lisp}-upgrade.text
+       done ; done 2>&1 | tee build/results/${lisp}-upgrade.text
 
-test-forward-references: tmp/asdf.lisp
-       ${SBCL} --noinform --no-userinit --no-sysinit --load tmp/asdf.lisp --load test/script-support.lisp --eval '(asdf-test::exit-lisp 0)' 2>&1 | cmp - /dev/null
+test-forward-references: build/asdf.lisp
+       ${SBCL} --noinform --no-userinit --no-sysinit --load build/asdf.lisp --load test/script-support.lisp --eval '(asdf-test::exit-lisp 0)' 2>&1 | cmp - /dev/null
 
-test-lisp: tmp/asdf.lisp
+test-lisp: build/asdf.lisp
        @cd test; ${MAKE} clean;./run-tests.sh ${lisp} ${test-glob}
 
 test: test-lisp test-forward-references doc
@@ -177,12 +177,12 @@ debian-package: mrproper
 
 # Replace SBCL's ASDF with the current one. -- Not recommended now that SBCL has ASDF2.
 # for casual users, just use (asdf:load-system :asdf)
-replace-sbcl-asdf: tmp/asdf.lisp
+replace-sbcl-asdf: build/asdf.lisp
        ${SBCL} --eval '(compile-file "$<" :output-file (format nil "~Aasdf/asdf.fasl" (sb-int:sbcl-homedir-pathname)))' --eval '(quit)'
 
 # Replace CCL's ASDF with the current one. -- Not recommended now that CCL has ASDF2.
 # for casual users, just use (asdf:load-system :asdf)
-replace-ccl-asdf: tmp/asdf.lisp
+replace-ccl-asdf: build/asdf.lisp
        ${CCL} --eval '(progn(compile-file "$<" :output-file (compile-file-pathname (format nil "~Atools/asdf.lisp" (ccl::ccl-directory))))(quit))'
 
 WRONGFUL_TAGS := 1.37 1.1720 README RELEASE STABLE
index 5e8f81b..a972d20 100644 (file)
@@ -3,9 +3,9 @@
 
 (asdf/package:define-package :asdf/action
   (:recycle :asdf/action :asdf)
-  (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname :asdf/os
-   :asdf/component :asdf/system :asdf/find-system :asdf/find-component :asdf/operation)
-  #+gcl<2.7 (:shadowing-import-from :asdf/implementation #:type-of)
+  (:use :common-lisp :asdf/compatibility :asdf/utility :asdf/pathname :asdf/os
+   :asdf/upgrade :asdf/component :asdf/system :asdf/find-system :asdf/find-component :asdf/operation)
+  #+gcl<2.7 (:shadowing-import-from :asdf/compatibility #:type-of)
   (:fmakunbound
    #:explain #:output-files #:perform #:perform-with-restarts
    #:operation-done-p #:compute-action-stamp #:component-depends-on #:mark-operation-done)
index a84d9db..c4ad32c 100644 (file)
--- a/asdf.asd
+++ b/asdf.asd
 
 (defsystem :asdf
   :author ("Daniel Barlow")
+  :maintainer ("Francois-Rene Rideau")
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.26.70" ;; to be automatically updated by bin/bump-revision
+  :version "2.26.71" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
-  :components
-  ((:file "asdf")))
+  :components ((:module "build" :components ((:file "asdf")))))
 
-;; The method below ensures that before we compile asdf, we load it as source.
-;; This ensures that when we compile asdf, it won't remove symbols and packages
-;; in the back of the compiling asdf, which then finds itself incapable of
-;; perform'ing the load-op'ing of the newly compiled asdf fasl because
-;; perform has been undefined during the initial package-frobbing eval-when code,
-;; but not redefined yet by loading the code rather than merely compiling it.
-;; Between ASDF 2.016.3 and 2.26.8, we could have used
-;; (:file "asdf" :do-first ((compile-op (load-source-op "asdf"))))
-;; What's below should be more compatible.
-;; We can't use find-component, because it's not compatible with old versions of ASDF 1.x
-
-(defmethod perform :before ((operation compile-op)
-                           (c (eql (first (module-components (find-system :asdf))))))
+(defmethod perform :before
+    ((o compile-op)
+     (c (eql (first (module-components
+                     (first (module-components (find-system :asdf))))))))
+  (declare (ignorable o))
   (perform (make-instance 'load-source-op) c))
index 3f76574..a4fcffc 100644 (file)
@@ -4,8 +4,8 @@
 (asdf/package:define-package :asdf/backward-interface
   (:recycle :asdf/backward-interface :asdf)
   (:fmakunbound #:component-load-dependencies)
-  (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname :asdf/os
-   :asdf/component :asdf/system :asdf/operation :asdf/action
+  (:use :common-lisp :asdf/utility :asdf/pathname :asdf/os
+   :asdf/upgrade :asdf/component :asdf/system :asdf/operation :asdf/action
    :asdf/lisp-build :asdf/operate :asdf/output-translations)
   (:export
    #:*asdf-verbose*
index 9a7e4fb..7503817 100644 (file)
@@ -3,8 +3,8 @@
 
 (asdf/package:define-package :asdf/backward-internals
   (:recycle :asdf/backward-internals :asdf)
-  (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname
-        :asdf/system :asdf/component :asdf/find-system :asdf/action)
+  (:use :common-lisp :asdf/utility :asdf/pathname
+   :asdf/upgrade :asdf/system :asdf/component :asdf/find-system :asdf/action)
   (:export ;; for internal use
    #:%refresh-component-inline-methods
    #:%resolve-if-component-dep-fails))
similarity index 91%
rename from implementation.lisp
rename to compatibility.lisp
index ae9bfe1..8317cf0 100644 (file)
@@ -1,9 +1,12 @@
 ;;;; -------------------------------------------------------------------------
-;;;; Handle ASDF portability to multiple implementations
+;;;; Handle compatibility with multiple implementations.
+;;; This file is for papering over the deficiencies and peculiarities
+;;; of various Common Lisp implementations.
+;;; For implementation-specific access to the system, see os.lisp instead.
 
-(asdf/package:define-package :asdf/implementation
+(asdf/package:define-package :asdf/compatibility
   (:use :common-lisp :asdf/package)
-  (:recycle :asdf/implementation :asdf)
+  (:recycle :asdf/compatibility :asdf)
   #+cormanlisp
   (:export
    #:logical-pathname #:translate-logical-pathname
@@ -12,9 +15,8 @@
   #+genera (:import-from :scl #:boolean)
   #+genera (:export #:boolean #:ensure-directories-exist)
   (:export
-   #:strcat #:compatfmt
-   #:asdf-message #:*asdf-verbose* #:*verbose-out*))
-(in-package :asdf/implementation)
+   #:strcat #:compatfmt))
+(in-package :asdf/compatibility)
 
 #-(or abcl allegro clisp clozure cmu cormanlisp ecl gcl genera lispworks mcl mkcl sbcl scl xcl)
 (error "ASDF is not supported on your implementation. Please help us port it.")
@@ -50,7 +52,7 @@
   (when (or (< system::*gcl-major-version* 2) ;; GCL 2.6 lacks output-translations and more.
             (and (= system::*gcl-major-version* 2)
                  (< system::*gcl-minor-version* 7)))
-    (shadow 'type-of :asdf/implementation)
+    (shadow 'type-of :asdf/compatibility)
     (pushnew 'ignorable pcl::*variable-declarations-without-argument*)
     (pushnew :gcl<2.7 *features*)))
 
         (setf format (strcat (subseq format 0 found) replacement
                              (subseq format (+ found (length unsupported)))))))
     format)
-
-(defvar *asdf-verbose* nil) ; was t from 2.000 to 2.014.12.
-(defvar *verbose-out* nil)
-
-(defun asdf-message (format-string &rest format-args)
-  (apply 'format *verbose-out* format-string format-args))
-
index 661e9bd..cbb84b7 100644 (file)
@@ -4,7 +4,7 @@
 (asdf/package:define-package :asdf/component
   (:recycle :asdf/component :asdf)
   (:fmakunbound #:component-relative-pathname #:source-file-type)
-  (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname :asdf/upgrade)
+  (:use :common-lisp :asdf/utility :asdf/pathname :asdf/upgrade)
   (:intern #:name #:version #:description #:long-description
            #:sibling-dependencies #:if-feature #:in-order-to #:inline-methods
            #:relative-pathname #:absolute-pathname #:operation-times #:around-compile
index 4407fe5..fe0ac95 100644 (file)
@@ -169,8 +169,7 @@ values of TAG include :source-registry and :output-translations."
                      (resolve-relative-location-component
                       (cdr x) :directory directory :wilden wilden)
                      car))))
-             ((eql :default-directory)
-              (relativize-pathname-directory (default-directory)))
+             ((eql :default-directory) (nil-pathname)) ;; OBSOLETE
              ((eql :*/) *wild-directory*)
              ((eql :**/) *wild-inferiors*)
              ((eql :*.*.*) *wild-file*)
index da47357..f9896cd 100644 (file)
@@ -7,7 +7,7 @@
    :asdf/component :asdf/system :asdf/find-system :asdf/find-component
    :asdf/lisp-action :asdf/operate
    :asdf/backward-internals)
-  #+gcl<2.7 (:shadowing-import-from :asdf/implementation #:type-of)
+  #+gcl<2.7 (:shadowing-import-from :asdf/compatibility #:type-of)
   (:export
    #:defsystem #:do-defsystem #:parse-component-form
    #:*default-component-class*))
index c092c1d..11ac90d 100644 (file)
@@ -3,7 +3,7 @@
 
 (asdf/package:define-package :asdf/find-system
   (:recycle :asdf/find-system :asdf)
-  (:use :common-lisp :asdf/implementation :asdf/utility :asdf/upgrade :asdf/pathname :asdf/os
+  (:use :common-lisp :asdf/compatibility :asdf/utility :asdf/upgrade :asdf/pathname :asdf/os
    :asdf/component :asdf/system)
   (:export
    #:coerce-name #:find-system #:locate-system #:load-sysdef #:with-system-definitions
index c18db13..f956e35 100644 (file)
@@ -4,7 +4,7 @@
 (asdf/package:define-package :asdf/footer
   (:recycle :asdf/footer :asdf)
   (:use :common-lisp
-   :asdf/package :asdf/implementation
+   :asdf/package :asdf/compatibility
    :asdf/utility :asdf/pathname :asdf/os :asdf/lisp-build
    :asdf/find-system :asdf/find-component :asdf/operation :asdf/action :asdf/lisp-action
    :asdf/operate :asdf/bundle :asdf/concatenate-source
index b01f7df..3746538 100644 (file)
@@ -28,8 +28,8 @@
    (:module
     "utils" :pathname "" :components
     ((:file "package")
-     (:file "implementation" :depends-on ("package"))
-     (:file "utility" :depends-on ("implementation"))
+     (:file "compatibility" :depends-on ("package"))
+     (:file "utility" :depends-on ("compatibility"))
      (:file "pathname" :depends-on ("utility"))
      (:file "os" :depends-on ("pathname"))))
    (:module
index 8b96421..769a30c 100644 (file)
@@ -1,5 +1,5 @@
 ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.26.70: Another System Definition Facility.
+;;; This is ASDF 2.26.71: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
index 6e24814..f9b2d88 100644 (file)
@@ -11,7 +11,7 @@
    #:loaded-systems ; makes for annoying SLIME completion
    #:output-files-for-system-and-operation) ; obsolete ASDF-BINARY-LOCATION function
   (:use :common-lisp
-   :asdf/package :asdf/implementation :asdf/utility :asdf/pathname :asdf/os :asdf/upgrade
+   :asdf/package :asdf/compatibility :asdf/utility :asdf/pathname :asdf/os :asdf/upgrade
    :asdf/component :asdf/system :asdf/find-system :asdf/find-component
    :asdf/operation :asdf/action :asdf/lisp-build :asdf/lisp-action
    :asdf/configuration :asdf/output-translations :asdf/source-registry
index fc15a56..7c4a99a 100644 (file)
@@ -4,7 +4,7 @@
 (asdf/package:define-package :asdf/lisp-action
   (:recycle :asdf/lisp-action :asdf)
   (:intern #:proclamations #:flags)
-  (:use :common-lisp :asdf/implementation :asdf/utility :asdf/lisp-build
+  (:use :common-lisp :asdf/compatibility :asdf/utility :asdf/lisp-build
    :asdf/component :asdf/system :asdf/find-component :asdf/operation :asdf/action)
   (:export
    #:compile-error #:compile-failed #:compile-warned #:try-recompiling
index b93b19e..184a1dd 100644 (file)
@@ -3,7 +3,7 @@
 
 (asdf/package:define-package :asdf/lisp-build
   (:recycle :asdf/lisp-build :asdf)
-  (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname :asdf/os)
+  (:use :common-lisp :asdf/compatibility :asdf/utility :asdf/pathname :asdf/os)
   (:fmakunbound #:compile-file*)
   (:export
    #:*compile-file-warnings-behaviour* #:*compile-file-failure-behaviour*
index 038742c..6297d78 100644 (file)
@@ -4,7 +4,7 @@
 (asdf/package:define-package :asdf/operate
   (:recycle :asdf/operate :asdf)
   (:fmakunbound #:operate)
-  (:use :common-lisp :asdf/implementation :asdf/utility :asdf/upgrade
+  (:use :common-lisp :asdf/utility :asdf/upgrade
         :asdf/component :asdf/system :asdf/operation :asdf/action
         :asdf/lisp-build :asdf/lisp-action #:asdf/plan
         :asdf/find-system :asdf/find-component)
diff --git a/os.lisp b/os.lisp
index fd1ae82..eba0272 100644 (file)
--- a/os.lisp
+++ b/os.lisp
@@ -3,7 +3,7 @@
 
 (asdf/package:define-package :asdf/os
   (:recycle :asdf/os :asdf)
-  (:use :cl :asdf/package :asdf/implementation :asdf/utility :asdf/pathname)
+  (:use :cl :asdf/package :asdf/compatibility :asdf/utility :asdf/pathname)
   (:export
    #:featurep #:os-unix-p #:os-windows-p ;; features
    #:read-file-forms ;; simple filesystem manipulation
@@ -232,4 +232,4 @@ using WRITE-SEQUENCE and a sensibly sized buffer." ; copied from xcvb-driver
     (if (and dir truename)
         (truename* dir)
         dir)))
-
\ No newline at end of file
index c908700..44dd948 100644 (file)
@@ -387,20 +387,5 @@ when the symbol is not found."
 
 (defmacro define-package (package &rest clauses)
   `(eval-when (:compile-toplevel :load-toplevel :execute)
-     #+gcl (defpackage ,package (:use))
+     #+(or ecl gcl) (defpackage ,package (:use))
      (apply 'ensure-package ',(parse-define-package-form package clauses))))
-
-;;;; MAGIC FIXUP FOR ASDF.
-;; For bootstrapping reason, define-package can't do its magic on the asdf/package package itself,
-;; so instead do something ugly and special purpose. However, other packages could have imported
-;; from ASDF and be in trouble. There ought to be a better solution to merging packages without tears.
-
-(eval-when (:compile-toplevel :load-toplevel :execute)
-  (defvar *extirpated-symbols* ())
-  (when (find-package :asdf)
-    (let (l)
-      (do-external-symbols (sym :asdf/package)
-        (multiple-value-bind (symbol lstatus) (find-symbol* sym :asdf nil)
-          (when (and lstatus (not (eq sym symbol)))
-            (push symbol l))))
-      (push (cons :asdf (mapcar #'symbol-name-package (sort l 'string<))) *extirpated-symbols*))))
index c28f35c..7228ba6 100644 (file)
@@ -46,7 +46,7 @@
    #:add-pathname-suffix #:tmpize-pathname
    #:call-with-staging-pathname #:with-staging-pathname
    ;; basic pathnames
-   #:load-pathname #:default-directory #:nil-pathname
+   #:load-pathname #:default-directory #:root-pathname
    ;; physical pathnames
    #:physical-pathname-p #:sane-physical-pathname
    ;; Windows shortcut support
@@ -705,8 +705,8 @@ For the latter case, we ought pick random suffix and atomically open it."
 (defun* load-pathname ()
   (resolve-symlinks* (or *load-pathname* *compile-file-pathname*)))
 
-(defun* default-directory ()
-  (truenamize (pathname-directory-pathname *default-pathname-defaults*)))
+(defun* default-directory () ;; A default absolute directory when all else fails.
+  (pathname-root (nil-pathname)))
 
 (defun* physical-pathname-p (x)
   (and (pathnamep x) (not (typep x 'logical-pathname))))
index c656895..13deebc 100644 (file)
--- a/plan.lisp
+++ b/plan.lisp
@@ -7,7 +7,7 @@
   (:use :common-lisp :asdf/utility :asdf/pathname :asdf/os
    :asdf/component :asdf/system :asdf/find-system :asdf/find-component
    :asdf/operation :asdf/action)
-  #+gcl<2.7 (:shadowing-import-from :asdf/implementation #:type-of)
+  #+gcl<2.7 (:shadowing-import-from :asdf/compatibility #:type-of)
   (:intern #:planned-p #:index #:forced #:forced-not #:total-action-count
            #:planned-action-count #:planned-output-action-count #:visited-actions
            #:visiting-action-set #:visiting-action-list #:actions-r)
index c83c8e9..9892bc0 100644 (file)
@@ -5,8 +5,8 @@
 (asdf/package:define-package :asdf/source-registry
   (:recycle :asdf/source-registry :asdf)
   (:fmakunbound #:inherit-source-registry #:process-source-registry #:process-source-registry-directive)
-  (:use :common-lisp :asdf/implementation :asdf/configuration :asdf/utility :asdf/pathname :asdf/os
-        :asdf/find-system)
+  (:use :common-lisp :asdf/utility :asdf/pathname :asdf/os
+        :asdf/upgrade :asdf/find-system :asdf/configuration)
   (:export
    #:invalid-source-registry
    #:source-registry #:source-registry-initialized-p
@@ -155,16 +155,14 @@ with a different configuration, so the configuration would be re-read then."
 
 (defun* wrapping-source-registry ()
   `(:source-registry
-    #+ecl (:tree ,(translate-logical-pathname "SYS:"))
+    #+(or ecl sbcl) (:tree ,(lisp-implementation-directory :truename t))
     #+mkcl (:tree ,(translate-logical-pathname "CONTRIB:"))
-    #+sbcl (:tree ,(truenamize (getenv-pathname "SBCL_HOME" :want-directory t)))
     :inherit-configuration
     #+cmu (:tree #p"modules:")
     #+scl (:tree #p"file://modules/")))
 (defun* default-source-registry ()
   `(:source-registry
     #+sbcl (:directory ,(subpathname (user-homedir) ".sbcl/systems/"))
-    (:directory ,(default-directory))
     ,@(loop :for dir :in
         `(,@(when (os-unix-p)
               `(,(or (getenv-absolute-directory "XDG_DATA_HOME")
index f18f441..6d92ce9 100644 (file)
@@ -31,9 +31,9 @@
     (make-pathname :directory '(#-gcl :relative #-gcl :back #+gcl :parent) :defaults *test-directory*)
     *test-directory*)))
 (defparameter *asdf-lisp*
-   (merge-pathnames
-    (make-pathname :directory '(#-gcl :relative "tmp") :name "asdf" :type "lisp" :defaults *asdf-directory*)
-    *asdf-directory*))
+  (merge-pathnames
+   (make-pathname :directory '(#-gcl :relative "build") :name "asdf" :type "lisp" :defaults *asdf-directory*)
+   *asdf-directory*))
 (defparameter *asdf-fasl*
   (compile-file-pathname
    (let ((impl (string-downcase
                     #+scl :scl
                     #+xcl :xcl))))
      (merge-pathnames
-      (make-pathname :directory `(#-gcl :relative "tmp" "fasls" ,impl)
+      (make-pathname :directory `(#-gcl :relative "fasls" ,impl)
                      :defaults *asdf-directory*)
       *asdf-lisp*))))
 
 (defun load-old-asdf (tag)
   (let ((old-asdf
           (merge-pathnames
-           (make-pathname :directory `(#-gcl :relative "tmp")
+           (make-pathname :directory `(#-gcl :relative "build")
                           :name (format nil "asdf-~A" tag) :type "lisp"
                           :defaults *asdf-directory*)
            *asdf-directory*)))
index c1fb63c..dbeb504 100644 (file)
@@ -4,11 +4,12 @@
 
 (asdf/package:define-package :asdf/upgrade
   (:recycle :asdf/upgrade :asdf)
-  (:use :common-lisp :asdf/package :asdf/implementation :asdf/utility)
+  (:use :common-lisp :asdf/package :asdf/compatibility :asdf/utility)
   (:export
    #:upgrade-asdf #:asdf-upgrade-error #:with-upgrade
    #:*post-upgrade-cleanup-hook* #:*post-upgrade-restart-hook*
-   #:asdf-version #:*upgraded-p*))
+   #:asdf-version #:*upgraded-p*
+   #:asdf-message #:*asdf-verbose* #:*verbose-out*))
 (in-package :asdf/upgrade)
 
 ;;; Special magic to detect if this is an upgrade
 (eval-when (:load-toplevel :compile-toplevel :execute)
   (defvar *asdf-version* nil)
   (defvar *upgraded-p* nil)
+  (defvar *asdf-verbose* nil) ; was t from 2.000 to 2.014.12.
+  (defvar *verbose-out* nil)
+  (defun asdf-message (format-string &rest format-args)
+    (apply 'format *verbose-out* format-string format-args)))
+  
+(eval-when (:load-toplevel :compile-toplevel :execute)
   (let* (;; For bug reporting sanity, please always bump this version when you modify this file.
          ;; Please also modify asdf.asd to reflect this change. The script bin/bump-version
          ;; can help you do these changes in synch (look at the source for documentation).
@@ -24,7 +31,7 @@
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.26.70")
+         (asdf-version "2.26.71")
          (existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))
       (setf *asdf-version* asdf-version))))
 
 
-;;;; User interface
+;;; Upgrade interface
+
+(defun* asdf-upgrade-error ()
+  ;; Important notice for whom it concerns. The crux of the matter is that
+  ;; TRAVERSE can be completely refactored, and so after the find-system returns, it's too late.
+  (error "When a system transitively depends on ASDF, it must :defsystem-depends-on (:asdf)~%~
+          Otherwise, when you upgrade ASDF, you must do it before you operate on any system.~%"))
 
 (defmacro with-upgrade ((&key (upgraded-p '*upgraded-p*) when) &body body)
   `(eval-when (:compile-toplevel :load-toplevel :execute)
@@ -51,12 +64,6 @@ You can compare this string with e.g.:
 (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSION) \"2.345.67\")."
   *asdf-version*)
 
-(defun* asdf-upgrade-error ()
-  ;; Important notice for whom it concerns. The crux of the matter is that
-  ;; TRAVERSE can be completely refactored, and so after the find-system returns, it's too late.
-  (error "When a system transitively depends on ASDF, it must :defsystem-depends-on (:asdf)~%~
-          Otherwise, when you upgrade ASDF, you must do it before you operate on any system.~%"))
-
 
 ;;; Self-upgrade functions
 
index 2468cbe..84e5a4f 100644 (file)
@@ -3,10 +3,10 @@
 
 (asdf/package:define-package :asdf/utility
   (:recycle :asdf/utility :asdf)
-  (:use :common-lisp :asdf/package :asdf/implementation)
+  (:use :common-lisp :asdf/package :asdf/compatibility)
   (:export
    #:find-symbol* ;; reexport from asdf/package
-   #:strcat #:compatfmt ;; reexport from asdf/implementation
+   #:strcat #:compatfmt ;; reexport from asdf/compatibility
    #:defun* #:defgeneric* ;; defining macros
    #:aif #:it ;; basic flow control
    #:while-collecting #:appendf #:length=n-p ;; lists