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
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.
--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
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
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 ;; \
*) 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
# 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
(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)
(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))
(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*
(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))
;;;; -------------------------------------------------------------------------
-;;;; 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
#+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.")
(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))
-
(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
(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*)
: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*))
(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
(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
(: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
;; -*- 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>.
#: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
(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
(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*
(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)
(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
(if (and dir truename)
(truename* dir)
dir)))
-
+
\ No newline at end of file
(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*))))
#: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
(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))))
(: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)
(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
(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")
(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*)))
(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).
;; "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)
(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
(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