diff --git a/asdf.asd b/asdf.asd index 4f4b107c50e7fb418972effa0ba742ae5b42dc51..d10501f73a0c152615bb0ff20ea96927e47a17f3 100644 --- a/asdf.asd +++ b/asdf.asd @@ -15,14 +15,18 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.26.78" ;; to be automatically updated by bin/bump-revision + :version "2.26.79" ;; to be automatically updated by bin/bump-revision :depends-on () - :components ((:module "build" :components ((:file "asdf"))))) + :components ((:module "build" :components ((:file "asdf")))) + :in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op generate-asdf)))) +#-asdf2.27 (defmethod perform :before ((o compile-op) (c (eql (first (module-components (first (module-components (find-system :asdf)))))))) - (declare (ignorable o c)) - #-asdf2.27 (perform (make-instance 'load-source-op) c) - #+asdf2.27 (perform (make-instance 'monolithic-load-concatenated-source-op) (find-system 'generate-asdf))) + (declare (ignorable o)) + (perform (make-instance 'load-source-op) c)) + +#+(and clisp (not asdf2.27)) +(rename-package :asdf :asdf-utilities) diff --git a/header.lisp b/header.lisp index cd7618dd59dc854247587857eace8a02e18747fe..5cbdd4e8f4060802c22cbc43bb525d188d30d8e5 100644 --- a/header.lisp +++ b/header.lisp @@ -1,5 +1,5 @@ ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*- -;;; This is ASDF 2.26.78: Another System Definition Facility. +;;; This is ASDF 2.26.79: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. diff --git a/interface.lisp b/interface.lisp index 6d996be56032dc5f175076c7b170c7b2904e8dcc..cec7dd77d587869e1822aed26f182b86feb27bf3 100644 --- a/interface.lisp +++ b/interface.lisp @@ -2,7 +2,7 @@ ;;;; Handle ASDF package upgrade, including implementation-dependent magic. (asdf/package:define-package :asdf/interface - (:nicknames :asdf) + (:nicknames :asdf :asdf-utilities) (:recycle :asdf/interface :asdf) (:unintern #:*asdf-revision* #:around #:asdf-method-combination #:intern* diff --git a/operate.lisp b/operate.lisp index 99a91f7b47e3e9d9257874a00b577560e20d5742..a96f6250f75780d3bc25e61b7ca75face01c32c4 100644 --- a/operate.lisp +++ b/operate.lisp @@ -3,7 +3,7 @@ (asdf/package:define-package :asdf/operate (:recycle :asdf/operate :asdf) - (:use :common-lisp :asdf/utility :asdf/upgrade + (:use :common-lisp :asdf/package :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) @@ -17,12 +17,12 @@ (defgeneric* operate (operation-class system &key &allow-other-keys)) -(defun* cleanup-upgraded-asdf () - (let ((asdf (funcall (find-symbol* 'find-system :asdf) :asdf))) +(defun* reset-asdf-systems () + (let ((asdf (symbol-call :asdf 'find-system :asdf))) ;; Invalidate all systems but ASDF itself. (setf *defined-systems* (make-defined-systems-table)) (register-system asdf) - (funcall (find-symbol* 'load-system :asdf) :asdf))) ;; load ASDF a second time, the right way. + (symbol-call :asdf 'load-system :asdf))) ;; load ASDF a second time, the right way. (defun* restart-upgraded-asdf () ;; If we're in the middle of something, restart it. @@ -31,7 +31,7 @@ (clrhash *systems-being-defined*) (dolist (s l) (find-system s nil))))) -(pushnew 'cleanup-upgraded-asdf *post-upgrade-cleanup-hook*) +(pushnew 'reset-asdf-systems *post-upgrade-cleanup-hook*) (pushnew 'restart-upgraded-asdf *post-upgrade-restart-hook*) diff --git a/package.lisp b/package.lisp index b03135547fcac4b55b80362a1e6f978f1a7be899..e80277cc279b923821e60a762d05417c51fb19cc 100644 --- a/package.lisp +++ b/package.lisp @@ -442,5 +442,6 @@ or when loading the package is optional." #+clisp (eval-when (:compile-toplevel :load-toplevel :execute) - (when (find-package :asdf) (delete-package* :asdf))) + (when (and (find-package :asdf) (not (member :asdf2.27 *features*))) + (delete-package* :asdf))) diff --git a/test/run-tests.sh b/test/run-tests.sh index 11dab69cae37e81bf840131a988375094ebeffb4..81d9a440d751df3c3ac7a4c6c75f892d9bf90b13 100755 --- a/test/run-tests.sh +++ b/test/run-tests.sh @@ -167,7 +167,7 @@ case "$lisp" in eval="-eval" ;; sbcl) command="${SBCL:-sbcl}" - flags="--noinform --userinit /dev/null --sysinit /dev/null" + flags="--noinform --userinit /dev/null --sysinit /dev/null" # --eval (require'asdf) nodebug="--disable-debugger" eval="--eval" ;; scl) diff --git a/upgrade.lisp b/upgrade.lisp index 87d411bec40b0ca7e0a0377abab9a97f05e3c8ed..78511acb1077d2b44954857927f5666591109ef2 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -7,7 +7,7 @@ (:use :common-lisp :asdf/package :asdf/compatibility :asdf/utility) (:export #:upgrade-asdf #:asdf-upgrade-error #:when-upgrade - #:*post-upgrade-cleanup-hook* #:*post-upgrade-restart-hook* + #:*post-upgrade-cleanup-hook* #:*post-upgrade-restart-hook* #:cleanup-upgraded-asdf #:asdf-version #:*upgraded-p* #:asdf-message #:*asdf-verbose* #:*verbose-out*)) (in-package :asdf/upgrade) @@ -21,7 +21,7 @@ (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 @@ -31,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.78") + (asdf-version "2.26.79") (existing-asdf (find-class (find-symbol* :component :asdf nil) nil)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) @@ -70,7 +70,7 @@ You can compare this string with e.g.: (defvar *post-upgrade-cleanup-hook* ()) (defvar *post-upgrade-restart-hook* ()) -(defun* post-upgrade-cleanup (old-version) +(defun* cleanup-upgraded-asdf (old-version) (let ((new-version (asdf-version))) (unless (equal old-version new-version) (cond @@ -94,6 +94,6 @@ You can compare this string with e.g.: We need do that before we operate on anything that depends on ASDF." (let ((version (asdf-version))) (handler-bind (((or style-warning warning) #'muffle-warning)) - (funcall (find-symbol* 'load-system :asdf) :asdf :verbose nil)) - (post-upgrade-cleanup version))) + (symbol-call :asdf :load-system :asdf :verbose nil)) + (cleanup-upgraded-asdf version)))