diff --git a/TODO b/TODO index 7fc881c8df68ec85bd6b645eef07e3e3f4ef9c13..de7daf3bfb0573a7ac8894a8dc4395c0f86abdd1 100644 --- a/TODO +++ b/TODO @@ -120,6 +120,10 @@ :name nil :type nil) fails to handle the logical-pathname-ness of ASDFTEST. *** `#5(1 ,@`(2 3)))` returns #(1 2 3), rather than #(1 2 3 2 3 2 3 2 3) or even better #(1 2 3 3 3). +*** XCL recognizes :unspecific for a pathname type, + but prints the namestring with a dot separator! + (make-pathname :name "foo" :type :unspecific) ==> #P"foo." + If bug is ever fixed, upgrade *unspecific-pathname-type* in uiop/pathname. ** GCL is almost working again; but implementation bugs remain. See November 2013 discussion on gcl-devel. @@ -148,6 +152,7 @@ which suggests brokenness in handler-bind and/or error. *** `#5(1 ,@`(2 3)))` returns #(1 2 3), rather than #(1 2 3 2 3 2 3 2 3) or even better #(1 2 3 3 3). +*** (DIRECTORY #p"*.*") fails to match files with pathname type NIL. ** ABCL has a few bugs. *** ABCL fails the timestamp propagation test. diff --git a/asdf.asd b/asdf.asd index 43f45f9e0b41a2b0907306f0f321c5e17e16aca9..f9b9c7d010936fcc953284089732dafb400349e0 100644 --- a/asdf.asd +++ b/asdf.asd @@ -75,7 +75,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "3.1.0.68" ;; to be automatically updated by make bump-version + :version "3.1.0.70" ;; to be automatically updated by make bump-version :depends-on () #+asdf3 :encoding #+asdf3 :utf-8 :class #.(if (find-class 'package-system nil) 'package-system 'system) diff --git a/bundle.lisp b/bundle.lisp index a36fff7e1809b527bd315171ff8ebc13a54130f7..71fe5c5fd91963bd6616f824ff8f442b86889a96 100644 --- a/bundle.lisp +++ b/bundle.lisp @@ -184,6 +184,7 @@ itself.")) ;; operation on a system and its dependencies (operation-original-initargs instance)))) (defmethod bundle-op-build-args :around ((o no-ld-flags-op)) + #+xcl (declare (ignorable o)) (let ((args (call-next-method))) (remf args :ld-flags) args)) @@ -418,9 +419,10 @@ itself.")) ;; operation on a system and its dependencies (perform-lisp-load-fasl o s)) (defmethod component-depends-on ((o load-fasl-op) (s precompiled-system)) + #+xcl (declare (ignorable o)) `((load-op ,s) ,@(call-next-method)))) - #| ;; Example use: +#| ;; Example use: (asdf:defsystem :precompiled-asdf-utils :class asdf::precompiled-system :fasl (asdf:apply-output-translations (asdf:system-relative-pathname :asdf-utils "asdf-utils.system.fasl"))) (asdf:load-system :precompiled-asdf-utils) |# diff --git a/component.lisp b/component.lisp index 854b63ddf308f6e5b127d32760e0c2a4bb6a11ad..ac1c206dc7c12588c7dd0f25b8229c36396fdb76 100644 --- a/component.lisp +++ b/component.lisp @@ -34,11 +34,9 @@ ;; Internals we'd like to share with the ASDF package, especially for upgrade purposes #:name #:version #:description #:long-description #:author #:maintainer #:licence - #:components-by-name #:components - #:children #:children-by-name #:default-component-class - #:author #:maintainer #:licence #:source-file - ;; the following retained for backward compatibility. - #:defsystem-depends-on + #:components-by-name #:components #:children #:children-by-name + #:default-component-class #:source-file + #:defsystem-depends-on ; This symbol retained for backward compatibility. #:sideway-dependencies #:if-feature #:in-order-to #:inline-methods #:relative-pathname #:absolute-pathname #:operation-times #:around-compile #:%encoding #:properties #:component-properties #:parent)) diff --git a/header.lisp b/header.lisp index 3bf7de9ff871db82d33550a6b3688208f32eefe5..c2a497990c643a80d34fab55339648fc43db6e29 100644 --- a/header.lisp +++ b/header.lisp @@ -1,5 +1,5 @@ ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*- -;;; This is ASDF 3.1.0.68: Another System Definition Facility. +;;; This is ASDF 3.1.0.70: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. diff --git a/parse-defsystem.lisp b/parse-defsystem.lisp index 403067156d3ac2763b7507d1456f8527fc26fc22..80c11415e0a2c7f27998da33cd24e2c744101b32 100644 --- a/parse-defsystem.lisp +++ b/parse-defsystem.lisp @@ -170,8 +170,8 @@ (apply 'reinitialize-instance component args) (setf component (apply 'make-instance class args))) (component-pathname component) ; eagerly compute the absolute pathname - ;; cache information for introspection (when (typep component 'system) + ;; cache information for introspection (setf (slot-value component 'depends-on) depends-on (slot-value component 'weakly-depends-on) weakly-depends-on)) (let ((sysfile (system-source-file (component-system component)))) ;; requires the previous diff --git a/plan.lisp b/plan.lisp index eb972f6475f02d59ac37a63904bef431ab1f3644..2d84d6bb6d9ce1bfe8763c1490fd57cefc89c2e4 100644 --- a/plan.lisp +++ b/plan.lisp @@ -384,7 +384,6 @@ the action of OPERATION on COMPONENT in the PLAN")) (when (action-planned-p new-status) (push (cons o c) (plan-actions-r p))))) - ;;;; high-level interface: traverse, perform-plan, plan-operates-on-p (with-upgradability () (defgeneric make-plan (plan-class operation component &key &allow-other-keys) @@ -405,6 +404,7 @@ the action of OPERATION on COMPONENT in the PLAN")) plan)) (defmethod perform-plan :around ((plan t) &key) + #+xcl (declare (ignorable plan)) (let ((*package* *package*) (*readtable* *readtable*)) (with-compilation-unit () ;; backward-compatibility. diff --git a/system.lisp b/system.lisp index f4505ac95a94290ca1c9b572fda632492f59bcd4..3faf2dc0bc7e417d03f1ca7403867413a4f6a1f4 100644 --- a/system.lisp +++ b/system.lisp @@ -66,8 +66,7 @@ :initform nil) ;; these two are specially set in parse-component-form, so have no :INITARGs. (depends-on :reader system-depends-on :initform nil) - (weakly-depends-on :reader system-weakly-depends-on :initform nil) - )) + (weakly-depends-on :reader system-weakly-depends-on :initform nil))) (defun reset-system (system &rest keys &key &allow-other-keys) (change-class (change-class system 'proto-system) 'system) diff --git a/test/script-support.lisp b/test/script-support.lisp index c798af6cb6ebf4ffb872d49e5c259d9095bf629f..45b94a3aeefd0e4c67718f9997a837eaa57defa2 100644 --- a/test/script-support.lisp +++ b/test/script-support.lisp @@ -345,8 +345,7 @@ is bound, write a message and exit on an error. If (funcall thunk)) #+allegro (excl:without-redefinition-warnings - (funcall thunk)) - ) + (funcall thunk))) (defun interactive-test (&optional files) (verbose t nil) diff --git a/test/test-utilities.script b/test/test-utilities.script index 6d0b7c4cb2939195a4358fbc587998ccd770b784..b497d77913724761d8a40e42ed92109dc1c52e3a 100644 --- a/test/test-utilities.script +++ b/test/test-utilities.script @@ -95,7 +95,7 @@ asdf/component:default-component-class ;; the following is here only for backward compatibility; should be in ;; asdf/system. [2014/02/20:rpg] - asdf/component:defsystem-depends-on + asdf/component:defsystem-depends-on asdf/component:description asdf/component:%encoding asdf/component:if-feature @@ -202,22 +202,20 @@ (assert (directory-exists-p (subpathname *build-directory* "deleteme/a/b/e/"))) (assert (probe-file* (subpathname *build-directory* "deleteme/a/1.x"))) (assert (probe-file* (subpathname *build-directory* "deleteme/a/b/2"))) -;;; check to make sure DIRECTORY-FILES doesn't list subdirectories +(DBG "check to make sure DIRECTORY-FILES doesn't list subdirectories") (let ((directory-a (directory-files (subpathname *build-directory* "deleteme/a/"))) (directory-b (directory-files (subpathname *build-directory* "deleteme/a/b/")))) - (assert (every 'pathname-equal directory-a (list (subpathname *build-directory* "deleteme/a/1.x")))) - (assert (every 'pathname-equal directory-b (list (subpathname *build-directory* "deleteme/a/b/2"))))) -;;; check to make sure SUBDIRECTORIES does list subdirectories + (assert-pathnames-equal directory-a (list (subpathname *build-directory* "deleteme/a/1.x"))) + (assert-pathnames-equal directory-b (list (subpathname *build-directory* "deleteme/a/b/2")))) +(DBG "check to make sure SUBDIRECTORIES does list subdirectories") (let ((directory-a (subdirectories (subpathname *build-directory* "deleteme/a/"))) (directory-b (subdirectories (subpathname *build-directory* "deleteme/a/b/")))) - (assert (set-equality directory-a - (list (subpathname *build-directory* "deleteme/a/b/")) - :test 'pathname-equal)) - (assert (set-equality directory-b - (list (subpathname *build-directory* "deleteme/a/b/c/") - (subpathname *build-directory* "deleteme/a/b/d/") - (subpathname *build-directory* "deleteme/a/b/e/")) - :test 'pathname-equal))) + (assert-pathnames-equal directory-a (list (subpathname *build-directory* "deleteme/a/b/"))) + (assert-pathnames-equal + (sort directory-b #'string< :key #'(lambda (x) (car (last (pathname-directory x))))) + (list (subpathname *build-directory* "deleteme/a/b/c/") + (subpathname *build-directory* "deleteme/a/b/d/") + (subpathname *build-directory* "deleteme/a/b/e/")))) (delete-empty-directory (subpathname *build-directory* "deleteme/a/b/e/")) (assert (not (directory-exists-p (subpathname *build-directory* "deleteme/a/b/e/")))) (delete-directory-tree (subpathname *build-directory* "deleteme/") diff --git a/uiop/filesystem.lisp b/uiop/filesystem.lisp index 76be1bb0f870948df1b58cc589b67b742c79aec3..abad3624483a210b42fc2d77d1b8a3ff08bc4448 100644 --- a/uiop/filesystem.lisp +++ b/uiop/filesystem.lisp @@ -212,7 +212,7 @@ permits this." (setf pattern (make-pathname-logical pattern (pathname-host dir)))) (let* ((pat (merge-pathnames* pattern dir)) (entries (append (ignore-errors (directory* pat)) - #+clisp + #+(or clisp gcl) (when (equal :wild (pathname-type pattern)) (ignore-errors (directory* (make-pathname :type nil :defaults pat))))))) (remove-if 'directory-pathname-p diff --git a/uiop/pathname.lisp b/uiop/pathname.lisp index 05b44c48f966bebf3686500a820138a03e6ee697..edb4ee5e30b55768bcc8c569dc5c28842294205e 100644 --- a/uiop/pathname.lisp +++ b/uiop/pathname.lisp @@ -91,8 +91,8 @@ by the underlying implementation's MAKE-PATHNAME and other primitives" ;; See CLHS make-pathname and 19.2.2.2.3. ;; This will be :unspecific if supported, or NIL if not. (defparameter *unspecific-pathname-type* - #+(or abcl allegro clozure cmu genera lispworks mkcl sbcl scl xcl) :unspecific - #+(or clisp ecl gcl #|These haven't been tested:|# cormanlisp mcl) nil + #+(or abcl allegro clozure cmu genera lispworks mkcl sbcl scl) :unspecific + #+(or clisp ecl gcl xcl #|These haven't been tested:|# cormanlisp mcl) nil "Unspecific type component to use with the underlying implementation's MAKE-PATHNAME") (defun make-pathname* (&rest keys &key (directory nil) diff --git a/uiop/stream.lisp b/uiop/stream.lisp index fcd31f9547248965f17882c4c20351da12de7778..80051980e8d63bb7b40dd6b3db470848cfc64121 100644 --- a/uiop/stream.lisp +++ b/uiop/stream.lisp @@ -557,6 +557,7 @@ THUNK is only CALL-FUNCTION'ed after the stream is closed, with the pathname as Upon exit of THUNK, the AFTER thunk if defined is CALL-FUNCTION'ed with the pathname as argument. If AFTER is defined, its results are returned, otherwise, the results of THUNK are returned. Finally, the file will be deleted, unless the KEEP argument when CALL-FUNCTION'ed returns true." + #+xcl (declare (ignorable typep)) (check-type direction (member :output :io)) (assert (or want-stream-p want-pathname-p)) (loop diff --git a/upgrade.lisp b/upgrade.lisp index dec59f85b01a773e57f092159183264cea6c9c8a..b032716f78f3891b1ab16e25fc2df8e56e898081 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -66,7 +66,7 @@ previously-loaded version of ASDF." ;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5. ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5 ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67 - (asdf-version "3.1.0.68") + (asdf-version "3.1.0.70") (existing-version (asdf-version))) (setf *asdf-version* asdf-version) (when (and existing-version (not (equal asdf-version existing-version))) diff --git a/version.lisp-expr b/version.lisp-expr index 71bb6efaa96a89798dae2e3c678292928cee7e63..ade31fe9556c37c92bb45bfa5e131304f68e0a2a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -1,2 +1,2 @@ -"3.1.0.68" +"3.1.0.70"