Commit 997f0915 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.015.1: Fix bug lp#779935 in load-source-op, introduced in 2.014.13.

https://bugs.launchpad.net/asdf/+bug/779935. Grrrrrrr. Add proper test.
parent f1575d4f
......@@ -12,7 +12,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.015" ;; to be automatically updated by bin/bump-revision
:version "2.015.1" ;; to be automatically updated by bin/bump-revision
:depends-on ()
:components
((:file "asdf")
......
;;; -*- mode: common-lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.015: Another System Definition Facility.
;;; This is ASDF 2.015.1: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......@@ -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.015")
(asdf-version "2.015.1")
(existing-asdf (fboundp 'find-system))
(existing-version *asdf-version*)
(already-there (equal asdf-version existing-version)))
......@@ -2280,7 +2280,7 @@ recursive calls to traverse.")
(defmethod component-depends-on ((o load-source-op) (c component))
(declare (ignorable o))
(loop :with what-would-load-op-do = (component-depends-on 'load-op c)
:for (op co) :in what-would-load-op-do
:for (op . co) :in what-would-load-op-do
:when (eq op 'load-op) :collect (cons 'load-source-op co)))
(defmethod operation-done-p ((o load-source-op) (c source-file))
......
;;; -*- Lisp -*-
(asdf:defsystem test-multiple
:components
((:file "file1")))
((:file "file3")))
(asdf:defsystem test-multiple-too
:components
((:file "file1")))
((:file "file1")
(:file "file2" :depends-on ("file1"))
(:file "file3" :depends-on ("file1" "file2"))))
(asdf:defsystem test-multiple-free
:components
((:file "file1")))
:depends-on (:test-multiple)
:components ((:file "file4")))
......@@ -3,14 +3,17 @@
(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")))
(tmp (asdf:merge-pathnames* (asdf:coerce-pathname "../tmp/")
*test-directory*))
(asd2 (asdf:merge-pathnames* (asdf:coerce-pathname "test-multiple-too.asd")
tmp))
(file4 (asdf:compile-file-pathname* "file4")))
(setf asdf:*central-registry* `(*default-pathname-defaults* ,tmp))
(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))))
(asdf:oos 'asdf:load-source-op 'test-multiple-too)
(assert (symbol-value (find-symbol (string :*file3*) :test-package)))
(asdf:load-system 'test-multiple-free)
(assert (asdf::probe-file* file4))))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment