diff --git a/.gitignore b/.gitignore index 8fb790b7a49fe75a46c1a9e1fa39f967c5d7c5a1..04e72a06bc7773ef83c46d4a17906e18192b9e79 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ tmp/ *.x86f *.bak *.data +*.ufasl test/try-reloading-dependency.asd test/fileMissing.lisp diff --git a/asdf.asd b/asdf.asd index 6a1fd75db0de1835b8c72e18487cdd2fc4e59109..43cb70ac764f5c38a56b793e2aaf6662f35e0b18 100644 --- a/asdf.asd +++ b/asdf.asd @@ -12,7 +12,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.014.16" ;; to be automatically updated by bin/bump-revision + :version "2.014.17" ;; to be automatically updated by bin/bump-revision :depends-on () :components ((:file "asdf") diff --git a/asdf.lisp b/asdf.lisp index 26e444c1d151430c3aade858d1deebb018af489b..138bd3ab3e47ad50382ffffeed7c0bb70bf246e5 100755 --- a/asdf.lisp +++ b/asdf.lisp @@ -1,5 +1,5 @@ ;;; -*- mode: common-lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*- -;;; This is ASDF 2.014.16: Another System Definition Facility. +;;; This is ASDF 2.014.17: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. @@ -75,27 +75,27 @@ ;;;; See https://bugs.launchpad.net/asdf/+bug/485687 ;;;; See more near the end of the file. -;;; Strip out formatting that is not supported on Genera. -(defmacro compatfmt (format) - #-genera format - #+genera - (loop :for (unsupported . replacement) :in - '(("~@<" . "") - ("; ~@;" . "; ") - ("~3i~_" . "") - ("~@:>" . "") - ("~:>" . "")) :do - (loop :for found = (search unsupported format) :while found :do - (setf format - (concatenate 'simple-string - (subseq format 0 found) replacement - (subseq format (+ found (length unsupported))))))) - format) - (eval-when (:load-toplevel :compile-toplevel :execute) (defvar *asdf-version* nil) (defvar *upgraded-p* nil) (defvar *asdf-verbose* nil) ; was t from 2.000 to 2.014.12. + ;; Strip out formatting that is not supported on Genera. + ;; Has to be inside the eval-when to make Lispworks happy (!) + (defmacro compatfmt (format) + #-genera format + #+genera + (loop :for (unsupported . replacement) :in + '(("~@<" . "") + ("; ~@;" . "; ") + ("~3i~_" . "") + ("~@:>" . "") + ("~:>" . "")) :do + (loop :for found = (search unsupported format) :while found :do + (setf format + (concatenate 'simple-string + (subseq format 0 found) replacement + (subseq format (+ found (length unsupported))))))) + format) (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 ;; can help you do these changes in synch (look at the source for documentation). @@ -104,7 +104,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.014.16") + (asdf-version "2.014.17") (existing-asdf (fboundp 'find-system)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) diff --git a/test/test-multiple.asd b/test/test-multiple.asd new file mode 100644 index 0000000000000000000000000000000000000000..084e45a9216eddb1784fcb558bfa1d9772fb8cd7 --- /dev/null +++ b/test/test-multiple.asd @@ -0,0 +1,12 @@ +;;; -*- Lisp -*- +(asdf:defsystem test-multiple + :components + ((:file "file1"))) + +(asdf:defsystem test-multiple-too + :components + ((:file "file1"))) + +(asdf:defsystem test-multiple-free + :components + ((:file "file1"))) diff --git a/test/test-multiple.script b/test/test-multiple.script new file mode 100644 index 0000000000000000000000000000000000000000..b1d2efd99ea847147c373c465f9c730d5686ea08 --- /dev/null +++ b/test/test-multiple.script @@ -0,0 +1,16 @@ +;;; -*- Lisp -*- +(load "script-support.lisp") +(load-asdf) + +(quit-on-error + (setf asdf:*central-registry* '(*default-pathname-defaults*)) + (asdf:load-system 'test-multiple) + (let* ((asd (asdf:merge-pathnames* (asdf:coerce-pathname "test-multiple.asd") + *test-directory*)) + (asd2 (asdf:merge-pathnames* (asdf:coerce-pathname "../tmp/test-multiple-too.asd") + *test-directory*)) + (file1 (asdf:compile-file-pathname* "file1"))) + (assert (= 0 (asdf:run-shell-command + (format nil "/bin/ln -sf ~A ~A" asd asd2)))) + (asdf:load-system 'test-multiple-too) + (assert (asdf::probe-file* file1))))