From eb3f595f2157a91961a3316e2ca641efa6c17aa1 Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Tue, 18 Dec 2012 20:18:22 -0500 Subject: [PATCH] 2.26.34: override a reinitialize-instance method, so we can upgrade from ASDF 2.018-2.26. --- asdf.asd | 2 +- asdf.lisp | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/asdf.asd b/asdf.asd index 326376cf..bc2c8abf 100644 --- a/asdf.asd +++ b/asdf.asd @@ -14,7 +14,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.26.33" ;; to be automatically updated by bin/bump-revision + :version "2.26.34" ;; to be automatically updated by bin/bump-revision :depends-on () :components ((:file "asdf"))) diff --git a/asdf.lisp b/asdf.lisp index 71ae2aa3..2b3a6b84 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -1,5 +1,5 @@ ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*- -;;; This is ASDF 2.26.33: Another System Definition Facility. +;;; This is ASDF 2.26.34: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. @@ -118,7 +118,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.33") + (asdf-version "2.26.34") (existing-asdf (find-class 'component nil)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) @@ -1213,11 +1213,15 @@ Returns two values: ;;;; ------------------------------------------------------------------------- ;;; Methods in case of hot-upgrade. See https://bugs.launchpad.net/asdf/+bug/485687 (when *upgraded-p* + ;; override previous definition from 2.018 to 2.26, not needed + ;; since we've stopped trying to recycle previously-installed systems. + (eval '(defmethod reinitialize-instance :after ((obj component) &rest initargs) + (declare (ignorable obj initargs)) (values))) (when (find-class 'module nil) (eval '(defmethod update-instance-for-redefined-class :after ((m module) added deleted plist &key) (declare (ignorable m added deleted plist)) - nil)))) ;; override previous definition. + nil)))) ;;;; ------------------------------------------------------------------------- ;;; Classes, Conditions @@ -2120,7 +2124,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded. (defmethod component-self-dependencies ((o operation) (c component)) (remove-if-not - #'(lambda (x) (unless (eq (car x) 'feature) ;; avoid the "FEATURE" feature + #'(lambda (x) (unless (eq (car x) 'feature) ;; avoid the "FEATURE" "feature" (find c (cdr x) :key #'(lambda (dep) (resolve-dependency-spec c dep))))) (component-depends-on o c))) @@ -2883,6 +2887,10 @@ Returns the new tree (which probably shares structure with the old one)" ;; Resolve away the dubious and deprecated option :IF-COMPONENT-DEP-FAILS ;; and its companion ASDF:FEATURE pseudo-dependency. +;; THIS IS ONLY PARTIAL SUPPORT: it won't recurse into dependencies +;; to accumulate feature conditions. +;; Therefore it will accept the SB-ROTATE-BYTE of an old SBCL +;; (older than 1.1.2.20-fe6da9f) but won't suffice to load an old nibbles. (defvar *if-component-dep-fails-component* nil) (defun resolve-if-component-dep-fails (if-component-dep-fails component) (asdf-message "The system definition for ~S uses deprecated ~ -- GitLab