Commit 8d10f43f authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

2.013.6: canonicalize names earlier. Be more robust wrt defsystem-depends-on.

Cosmetic changes and an assertion.
parent 22e1e266
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ do-test:

test: do-test test-forward-references

test-all: test-forward-references
test-all: test-forward-references test-upgrade
	@for lisp in ${lisps} ; do \
		make do-test lisp=$$lisp || exit 1 ; \
	done
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@
  :licence "MIT"
  :description "Another System Definition Facility"
  :long-description "ASDF builds Common Lisp software organized into defined systems."
  :version "2.013.5" ;; to be automatically updated by bin/bump-revision
  :version "2.013.6" ;; to be automatically updated by bin/bump-revision
  :depends-on ()
  :components
  ((:file "asdf")
+8 −7
Original line number Diff line number Diff line
;;; -*- mode: common-lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.013.5: Another System Definition Facility.
;;; This is ASDF 2.013.6: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
@@ -83,7 +83,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.013.5")
         (asdf-version "2.013.6")
         (existing-asdf (fboundp 'find-system))
         (existing-version *asdf-version*)
         (already-there (equal asdf-version existing-version)))
@@ -1450,10 +1450,10 @@ Going forward, we recommend new users should be using the source-registry.
           (error 'missing-component :requires name)))))))

(defun* register-system (name system)
  (asdf-message #-genera "~&~@<; ~@;Registering ~A as ~A~@:>~%"
                #+genera "~&; Registering ~A as ~A~%" system name)
  (setf (gethash (coerce-name name) *defined-systems*)
        (cons (get-universal-time) system)))
  (setf name (coerce-name name))
  (assert (equal name (component-name system)))
  (asdf-message "~&; Registering ~A~%" system)
  (setf (gethash name *defined-systems*) (cons (get-universal-time) system)))

(defun* find-system-fallback (requested fallback &rest keys &key source-file &allow-other-keys)
  (setf fallback (coerce-name fallback)
@@ -2315,6 +2315,7 @@ details."
        (default-directory))))

(defmacro defsystem (name &body options)
  (setf name (coerce-name name))
  (destructuring-bind (&key (pathname nil pathname-arg-p) (class 'system)
                            defsystem-depends-on &allow-other-keys)
      options
@@ -2324,7 +2325,7 @@ details."
         ;; we recur when trying to find an existing system of the same name
         ;; to reuse options (e.g. pathname) from
         ,@(loop :for system :in defsystem-depends-on
             :collect `(load-system ,system))
             :collect `(load-system ',(coerce-name system)))
         (let ((s (system-registered-p ',name)))
           (cond ((and s (eq (type-of (cdr s)) ',class))
                  (setf (car s) (get-universal-time)))