From 8468bd6d91e8394c66dc1a9936823a6f14799a6f Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Mon, 17 Dec 2012 10:22:11 -0500 Subject: [PATCH] 2.26.26: avoid excessive uninterning on ECL. Change declare ignore to ignorable to make ACL happier. Remove slot for if-component-dep-fails. Update some tests and workaround a failure on ecl-bytecodes. --- .gitignore | 4 +- Makefile | 3 +- asdf.asd | 2 +- asdf.lisp | 52 +++++++++-------------- test/test-compile-file-failure.lisp | 4 +- test/test-weakly-depends-on-present.asd | 1 - test/test-weakly-depends-on-unpresent.asd | 2 - 7 files changed, 25 insertions(+), 43 deletions(-) diff --git a/.gitignore b/.gitignore index c3973556..9216362d 100644 --- a/.gitignore +++ b/.gitignore @@ -28,9 +28,7 @@ doc/asdf.t2d/ LICENSE tmp/ *.dribble -*.fasl -*.dfsl -*.cfsl +*.fas[bcl] *.fas *.lib *.[oahcisS] diff --git a/Makefile b/Makefile index 37830010..2d7526de 100644 --- a/Makefile +++ b/Makefile @@ -7,10 +7,9 @@ sourceDirectory := $(shell pwd) ifdef ASDF_TEST_LISPS lisps ?= ${ASDF_TEST_LISPS} else -lisps ?= ccl clisp sbcl ecl cmucl abcl scl allegro lispworks +lisps ?= ccl clisp sbcl ecl ecl-bytecodes cmucl abcl scl allegro lispworks endif -## MINOR FAIL: ecl-bytecodes (failure in test-compile-file-failure.script) ## MINOR FAIL: xcl (logical pathname issue in asdf-pathname-test.script) ## OCCASIONALLY TESTED BY NOT ME: allegromodern (not in my free demo version) ## MAJOR FAIL: gclcvs -- COMPILER BUG! Upstream fixed it, but upstream fails to compile. diff --git a/asdf.asd b/asdf.asd index f426c49f..c4bc1e46 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.25" ;; to be automatically updated by bin/bump-revision + :version "2.26.26" ;; to be automatically updated by bin/bump-revision :depends-on () :components ((:file "asdf"))) diff --git a/asdf.lisp b/asdf.lisp index 7aa08ea6..0b94273b 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.25: Another System Definition Facility. +;;; This is ASDF 2.26.26: 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.25") + (asdf-version "2.26.26") (existing-asdf (find-class 'component nil)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) @@ -246,36 +246,31 @@ :unintern (#:*asdf-revision* #:around #:asdf-method-combination #:split #:make-collector #:do-dep #:do-one-dep - #:resolve-relative-location-component #:resolve-absolute-location-component - #:traverse-action #:visit-action #:traverse #:loaded-systems ; makes for annoying SLIME completion #:output-files-for-system-and-operation) ; obsolete ASDF-BINARY-LOCATION function :export - (#:defsystem #:oos #:operate #:find-system #:locate-system #:run-shell-command + (#:defsystem #:find-system #:locate-system + #:oos #:operate #:traverse #:perform-plan #:system-definition-pathname #:with-system-definitions #:search-for-system-definition #:find-component #:component-find-path #:compile-system #:load-system #:load-systems #:require-system #:test-system #:clear-system - #:operation #:compile-op #:load-op #:load-source-op #:test-op - #:upward-operation #:downward-operation #:prepare-op #:prepare-source-op - #:parent-component #:child-component - #:feature #:version #:version-satisfies - #:upgrade-asdf + #:operation #:upward-operation #:downward-operation + #:load-op #:prepare-op #:compile-op #:load-fasl-op + #:prepare-source-op #:load-source-op #:test-op + #:feature #:version #:version-satisfies #:upgrade-asdf #:implementation-identifier #:implementation-type #:hostname #:input-files #:output-files #:output-file #:perform #:operation-done-p #:explain #:component-sibling-dependencies - #:component-load-dependencies - - #:component #:source-file - #:c-source-file #:cl-source-file #:java-source-file - #:cl-source-file.cl #:cl-source-file.lsp - #:static-file - #:doc-file - #:html-file - #:text-file + #:component-load-dependencies #:run-shell-command ; deprecated, do not use + #:precompiled-system #:compiled-file + #+ecl #:make-build #+mkcl #:bundle-system + + #:component #:parent-component #:child-component #:system #:module + #:source-file #:c-source-file #:java-source-file + #:cl-source-file #:cl-source-file.cl #:cl-source-file.lsp + #:static-file #:doc-file #:html-file :text-file #:source-file-type - #:module ; components - #:system #:unix-dso #:component-children ; component accessors @@ -373,8 +368,6 @@ #:system-source-registry #:user-source-registry-directory #:system-source-registry-directory - #:load-fasl-op #:precompiled-system #:compiled-file - #+ecl #:make-build #+mkcl #:bundle-system ;; Utilities: please use asdf-utils instead #| @@ -504,8 +497,7 @@ or ASDF:LOAD-SOURCE-OP if your fasl loading is somehow broken.") ((defdef (def* def) `(defmacro ,def* (name formals &rest rest) `(progn - ;;#+(or ecl (and gcl (not gcl-pre2.7))) (fmakunbound ',name) - #-gcl-pre2.7 (fmakunbound ',name) + #+(or ecl (and gcl (not gcl-pre2.7))) (fmakunbound ',name) #-gcl ; gcl 2.7.0 notinline functions lose secondary return values :-( ,(when (and #+ecl (symbolp name)) ; fails for setf functions on ecl `(declaim (notinline ,name))) @@ -1367,12 +1359,6 @@ Returns two values: (children-by-name :reader module-components-by-name ; backwards compatibility :accessor component-children-by-name) - ;; What to do if we can't satisfy a dependency of one of this module's - ;; components. This allows a limited form of conditional processing. - (if-component-dep-fails - :initform :fail - :initarg :if-component-dep-fails - :accessor module-if-component-dep-fails) (default-component-class :initform nil :initarg :default-component-class @@ -2113,7 +2099,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded. o)) (defmethod find-operation ((operation operation) (sub operation)) - (declare (ignore operation)) + (declare (ignorable operation)) sub) (defmethod find-operation ((operation operation) (sub symbol)) @@ -4726,7 +4712,7 @@ with a different configuration, so the configuration would be re-read then." (declare (ignorable o c)) nil) (defmethod input-files (o (c compiled-file)) - (declare (ignore o)) + (declare (ignorable o)) (load (component-pathname c))) (defmethod perform ((o load-op) (c compiled-file)) (declare (ignorable o)) diff --git a/test/test-compile-file-failure.lisp b/test/test-compile-file-failure.lisp index ed9b02ee..5149add0 100644 --- a/test/test-compile-file-failure.lisp +++ b/test/test-compile-file-failure.lisp @@ -1,4 +1,6 @@ (eval-when (:compile-toplevel :load-toplevel :execute) ;; CLISP 2.48 has a bug that makes this test fail. Work around: - #+clisp (when (eq asdf:*compile-file-failure-behaviour* :error) (error 'asdf:compile-error)) + #+(or clisp ecl) (when (and (eq asdf:*compile-file-failure-behaviour* :error) + #+ecl (equal (fasl-type) "fasc")) + (error 'asdf:compile-error :operation "op" :component "comp")) (warn "Warning.")) diff --git a/test/test-weakly-depends-on-present.asd b/test/test-weakly-depends-on-present.asd index e88132fd..04c3b55b 100644 --- a/test/test-weakly-depends-on-present.asd +++ b/test/test-weakly-depends-on-present.asd @@ -1,5 +1,4 @@ (defsystem test-weakly-depends-on-present :weakly-depends-on (file3-only) - :if-component-dep-fails :ignore :components ((:file "file1"))) diff --git a/test/test-weakly-depends-on-unpresent.asd b/test/test-weakly-depends-on-unpresent.asd index ed330345..3b5790c2 100644 --- a/test/test-weakly-depends-on-unpresent.asd +++ b/test/test-weakly-depends-on-unpresent.asd @@ -1,5 +1,3 @@ (defsystem test-weakly-depends-on-unpresent :weakly-depends-on (does-not-exist) - :if-component-dep-fails :ignore :components ((:file "file1"))) - -- GitLab