From a3f8080e9664d2021bddbd281e9b7fea013dd070 Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Mon, 21 Jan 2013 11:22:49 -0500 Subject: [PATCH] 2.26.136: try my very best for clean upgrade on abcl, clisp, cmucl. In the end, punt. --- action.lisp | 16 +++++++++------- asdf.asd | 2 +- component.lisp | 4 ++-- find-component.lisp | 2 +- header.lisp | 32 ++++++++++++++++++-------------- operate.lisp | 2 +- output-translations.lisp | 4 ++-- pathname.lisp | 2 +- plan.lisp | 1 + source-registry.lisp | 6 +++--- system.lisp | 6 +++--- upgrade.lisp | 24 +++++++++++++----------- version.lisp-expr | 2 +- 13 files changed, 56 insertions(+), 47 deletions(-) diff --git a/action.lisp b/action.lisp index 1555c234..7630d812 100644 --- a/action.lisp +++ b/action.lisp @@ -73,7 +73,7 @@ You can put together sentences using this phrase.")) (defmethod operation-description (operation component) (format nil (compatfmt "~@<~A on ~A~@:>") (type-of operation) component)) -(defgeneric* explain (operation component)) +(defgeneric* (explain) (operation component)) (defmethod explain ((o operation) (c component)) (asdf-message (compatfmt "~&~@<; ~@;~A~:>~%") (operation-description o c))) (define-convenience-action-methods explain (operation component)) @@ -110,10 +110,11 @@ You can put together sentences using this phrase.")) (cdr (assoc (type-of o) (component-in-order-to c)))) ; User-specified in-order dependencies (defmethod component-self-dependencies ((o operation) (c component)) + ;; NB: result in the same format as component-depends-on (loop :for (o-spec . c-spec) :in (component-depends-on o c) :unless (eq o-spec 'feature) ;; avoid the FEATURE "feature" :when (find c c-spec :key #'(lambda (dep) (resolve-dependency-spec c dep))) - :collect (cons (find-operation o o-spec) c))) + :collect (list o-spec c))) ;;;; upward-operation, downward-operation ;; These together handle actions that propagate along the component hierarchy. @@ -152,7 +153,7 @@ You can put together sentences using this phrase.")) ;;;; Inputs, Outputs, and invisible dependencies (defgeneric* (output-files) (operation component)) (defgeneric* (input-files) (operation component)) -(defgeneric* operation-done-p (operation component) +(defgeneric* (operation-done-p) (operation component) (:documentation "Returns a boolean, which is NIL if the action is forced to be performed again")) (define-convenience-action-methods output-files (operation component)) (define-convenience-action-methods input-files (operation component)) @@ -192,12 +193,13 @@ You can put together sentences using this phrase.")) (declare (ignorable o c)) nil) -(defmethod input-files ((o operation) (c file-component)) +(defmethod input-files ((o operation) (c component)) (or (loop :for (dep-o) :in (component-self-dependencies o c) :append (or (output-files dep-o c) (input-files dep-o c))) ;; no non-trivial previous operations needed? ;; I guess we work with the original source file, then - (list (component-pathname c)))) + (if-let ((pathname (component-pathname c))) + (and (file-pathname-p pathname) (list pathname))))) ;;;; Done performing @@ -247,8 +249,8 @@ in some previous image, or T if it needs to be done.") ;;;; Perform -(defgeneric* perform-with-restarts (operation component)) -(defgeneric* perform (operation component)) +(defgeneric* (perform-with-restarts) (operation component)) +(defgeneric* (perform) (operation component)) (define-convenience-action-methods perform (operation component)) (defmethod perform :before ((o operation) (c component)) diff --git a/asdf.asd b/asdf.asd index 59d359c6..7e8e2dde 100644 --- a/asdf.asd +++ b/asdf.asd @@ -15,7 +15,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.26.135" ;; to be automatically updated by make bump-version + :version "2.26.136" ;; to be automatically updated by make bump-version :depends-on () :components ((:module "build" :components ((:file "asdf")))) :in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op asdf/defsystem)))) diff --git a/component.lisp b/component.lisp index 0a44ec47..45a51dae 100644 --- a/component.lisp +++ b/component.lisp @@ -43,7 +43,7 @@ (:documentation "Find the top-level system containing COMPONENT")) (defgeneric* component-pathname (component) (:documentation "Extracts the pathname applicable for a particular component.")) -(defgeneric* component-relative-pathname (component) +(defgeneric* (component-relative-pathname) (component) (:documentation "Returns a pathname for the component argument intended to be interpreted relative to the pathname of that component's parent. Despite the function's name, the return value may be an absolute @@ -58,7 +58,7 @@ another pathname in a degenerate way.")) ;;; Backward compatible way of computing the FILE-TYPE of a component. ;;; TODO: find users, have them stop using that. -(defgeneric* source-file-type (component system)) +(defgeneric* (source-file-type) (component system)) (when-upgrade (:when (find-class 'component nil)) (defmethod reinitialize-instance :after ((c component) &rest initargs &key) diff --git a/find-component.lisp b/find-component.lisp index 7ea2411a..e693f6c6 100644 --- a/find-component.lisp +++ b/find-component.lisp @@ -47,7 +47,7 @@ ;;;; Finding components -(defgeneric* find-component (base path) +(defgeneric* (find-component) (base path) (:documentation "Find a component by resolving the PATH starting from BASE parent")) (defgeneric* resolve-dependency-combination (component combinator arguments)) diff --git a/header.lisp b/header.lisp index 5fd35d9e..af3fcdcb 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.135: Another System Definition Facility. +;;; This is ASDF 2.26.136: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. @@ -47,20 +47,24 @@ #+xcvb (module ()) -#+clisp (in-package :cl-user) -#+clisp + +#+cmu +(eval-when (:load-toplevel :compile-toplevel :execute) + (declaim (optimize (speed 1) (safety 3) (debug 3))) + (setf ext:*gc-verbose* nil)) + +#+(or abcl clisp cmu) (eval-when (:load-toplevel :compile-toplevel :execute) (unless (member :asdf2.27 *features*) - (let ((p (find-package :asdf))) - (when p - (rename-package - :asdf - (format nil "~A-~A" :asdf - (or (symbol-value (and (member :asdf2 *features*) - (or (find-symbol (string :*asdf-version*) :asdf) - (find-symbol (string :*asdf-revision*) :asdf)))) - :1.x))) + (let* ((existing-version + (when (find-package :asdf) + (or (symbol-value (or (find-symbol (string :*asdf-version*) :asdf) + (find-symbol (string :*asdf-revision*) :asdf))) + (string :1.x)))) + (away (format nil "~A-~A" :asdf existing-version))) + (when existing-version + (rename-package :asdf away) (when *load-verbose* - (format t "; Renamed package ~A away to ~A~%" - :asdf (package-name p))))))) + (format t "; Renamed package ~A away to ~A~%" :asdf away)))))) + diff --git a/operate.lisp b/operate.lisp index 50f0c1bb..78f57539 100644 --- a/operate.lisp +++ b/operate.lisp @@ -16,7 +16,7 @@ #:upgrade-asdf #:cleanup-upgraded-asdf #:*post-upgrade-hook*)) (in-package :asdf/operate) -(defgeneric* operate (operation component &key &allow-other-keys)) +(defgeneric* (operate) (operation component &key &allow-other-keys)) (define-convenience-action-methods operate (operation component &key) :operation-initargs t ;; backward-compatibility with ASDF1. Yuck. diff --git a/output-translations.lisp b/output-translations.lisp index 71af94aa..c120bdaf 100644 --- a/output-translations.lisp +++ b/output-translations.lisp @@ -169,7 +169,7 @@ and the order is by decreasing length of namestring of the source pathname.") (when inherit (process-output-translations (first inherit) :collect collect :inherit (rest inherit)))) -(defun* process-output-translations-directive (directive &key inherit collect) +(defun* (process-output-translations-directive) (directive &key inherit collect) (if (atom directive) (ecase directive ((:enable-user-cache) @@ -260,7 +260,7 @@ effectively disabling the output translation facility." (output-translations) (initialize-output-translations))) -(defun* apply-output-translations (path) +(defun* (apply-output-translations) (path) #+cormanlisp (resolve-symlinks* path) #-cormanlisp (etypecase path (logical-pathname diff --git a/pathname.lisp b/pathname.lisp index c138bbbb..e67f63f3 100644 --- a/pathname.lisp +++ b/pathname.lisp @@ -15,7 +15,7 @@ #:merge-pathnames* ;; Directories #:pathname-directory-pathname #:pathname-parent-directory-pathname - #:directory-pathname-p #:ensure-directory-pathname + #:directory-pathname-p #:ensure-directory-pathname #:file-pathname-p ;; Absolute vs relative pathnames #:ensure-pathname-absolute #:relativize-directory-component #:relativize-pathname-directory diff --git a/plan.lisp b/plan.lisp index 97116928..2b0ee929 100644 --- a/plan.lisp +++ b/plan.lisp @@ -365,6 +365,7 @@ of ASDF operation object and a COMPONENT object. The pairs will be processed in order by OPERATE.")) (defgeneric* perform-plan (plan &key)) (defgeneric* plan-operates-on-p (plan component)) +(defgeneric* (traverse) (operation component &key &allow-other-keys)) (define-convenience-action-methods traverse (operation component &key)) (defparameter *default-plan-class* 'sequential-plan) diff --git a/source-registry.lisp b/source-registry.lisp index 3e4dfd0b..a5bbfff0 100644 --- a/source-registry.lisp +++ b/source-registry.lisp @@ -183,13 +183,13 @@ system names to pathnames of .asd files") (defun* environment-source-registry () (getenv "CL_SOURCE_REGISTRY")) -(defgeneric* process-source-registry (spec &key inherit register)) +(defgeneric* (process-source-registry) (spec &key inherit register)) -(defun* inherit-source-registry (inherit &key register) +(defun* (inherit-source-registry) (inherit &key register) (when inherit (process-source-registry (first inherit) :register register :inherit (rest inherit)))) -(defun* process-source-registry-directive (directive &key inherit register) +(defun* (process-source-registry-directive) (directive &key inherit register) (destructuring-bind (kw &rest rest) (if (consp directive) directive (list directive)) (ecase kw ((:include) diff --git a/system.lisp b/system.lisp index 3a85c9fa..37afffd9 100644 --- a/system.lisp +++ b/system.lisp @@ -14,8 +14,8 @@ #:find-system #:builtin-system-p)) ;; forward-reference, defined in find-system (in-package :asdf/system) -(defgeneric* find-system (system &optional error-p)) -(defgeneric* system-source-file (system) +(defgeneric* (find-system) (system &optional error-p)) +(defgeneric* (system-source-file) (system) (:documentation "Return the source file in which system is defined.")) (defgeneric* builtin-system-p (system)) @@ -55,7 +55,7 @@ in which the system specification (.asd file) is located." (pathname-directory-pathname (system-source-file system-designator))) -(defun* system-relative-pathname (system name &key type) +(defun* (system-relative-pathname) (system name &key type) (subpathname (system-source-directory system) name :type type)) (defmethod component-pathname ((system system)) diff --git a/upgrade.lisp b/upgrade.lisp index ea90fd38..b7caeae6 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -35,22 +35,24 @@ ;; "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.135") + (asdf-version "2.26.136") (existing-asdf (find-class (find-symbol* :component :asdf nil) nil)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version)) (redefined-functions ;; gf signature and/or semantics changed incompatibly. Oops. - '(#:perform #:explain #:output-files #:operation-done-p - #:component-parent-pathname #:traverse - #:component-depends-on #:input-files - #:perform-with-restarts #:component-relative-pathname - #:system-source-file #:operate #:find-component #:find-system - #:apply-output-translations #:component-self-dependencies - #:system-relative-pathname - #:inherit-source-registry #:process-source-registry - #:process-source-registry-directive #:source-file-type + '(#:component-relative-pathname #:component-parent-pathname ;; component + #:source-file-type + #:find-system #:system-source-file #:system-relative-pathname ;; system + #:find-component ;; find-component + #:explain #:perform #:perform-with-restarts #:input-files #:output-files ;; action + #:component-depends-on #:component-self-dependencies #:operation-done-p + #:traverse ;; plan + #:operate ;; operate + #:apply-output-translations ;; output-translations #:process-output-translations-directive - #:trivial-system-p + #:inherit-source-registry #:process-source-registry ;; source-registry + #:process-source-registry-directive + #:trivial-system-p ;; bundle ;; NB: it's too late to do anything about asdf-driver functions! )) (uninterned-symbols diff --git a/version.lisp-expr b/version.lisp-expr index 96abedb0..67a2d8ee 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -1 +1 @@ -"2.26.135" +"2.26.136" -- GitLab