Skip to content
Snippets Groups Projects
Commit f588c2a8 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

2.21.3: accept both class objects and class naming symbols as default-component-class designators.

parent 7169b794
No related branches found
No related tags found
No related merge requests found
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
:licence "MIT" :licence "MIT"
:description "Another System Definition Facility" :description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems." :long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.21.2" ;; to be automatically updated by bin/bump-revision :version "2.21.3" ;; to be automatically updated by bin/bump-revision
:depends-on () :depends-on ()
:components :components
((:file "asdf") ((:file "asdf")
......
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*- ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
;;; This is ASDF 2.21.2: Another System Definition Facility. ;;; This is ASDF 2.21.3: Another System Definition Facility.
;;; ;;;
;;; Feedback, bug reports, and patches are all welcome: ;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>. ;;; please mail to <asdf-devel@common-lisp.net>.
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
;; "2.345.6" would be a development version in the official upstream ;; "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.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 ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
(asdf-version "2.21.2") (asdf-version "2.21.3")
(existing-asdf (find-class 'component nil)) (existing-asdf (find-class 'component nil))
(existing-version *asdf-version*) (existing-version *asdf-version*)
(already-there (equal asdf-version existing-version))) (already-there (equal asdf-version existing-version)))
...@@ -2788,6 +2788,11 @@ details." ...@@ -2788,6 +2788,11 @@ details."
directory-pathname directory-pathname
(default-directory)))) (default-directory))))
(defun* find-class* (x &optional (errorp t) environment)
(etypecase x
((or standard-class built-in-class) x)
(symbol (find-class x errorp) environment)))
(defun* class-for-type (parent type) (defun* class-for-type (parent type)
(or (loop :for symbol :in (list (or (loop :for symbol :in (list
type type
...@@ -2799,11 +2804,10 @@ details." ...@@ -2799,11 +2804,10 @@ details."
class (find-class 'component))) class (find-class 'component)))
:return class) :return class)
(and (eq type :file) (and (eq type :file)
(aif (find-class*
(or (loop :for module = parent :then (component-parent module) :while module (or (loop :for module = parent :then (component-parent module) :while module
:thereis (module-default-component-class module)) :thereis (module-default-component-class module))
*default-component-class*) *default-component-class*) nil))
(find-class it)))
(sysdef-error "don't recognize component type ~A" type))) (sysdef-error "don't recognize component type ~A" type)))
(defun* maybe-add-tree (tree op1 op2 c) (defun* maybe-add-tree (tree op1 op2 c)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment