diff --git a/asdf.asd b/asdf.asd index c92ce7be75313915d92d49696a960716125fa10b..af28ada0e5957f8478eb42bdbd031d93bddc5ede 100644 --- a/asdf.asd +++ b/asdf.asd @@ -14,7 +14,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.20.21" ;; to be automatically updated by bin/bump-revision + :version "2.20.22" ;; to be automatically updated by bin/bump-revision :depends-on () :components ((:file "asdf") diff --git a/asdf.lisp b/asdf.lisp index f04337fb7c6615b22ccc747861c2070e8cdee0f4..a59c17b73d71d09c256dceeb3688fb0abeb3b5f8 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -1,5 +1,5 @@ ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*- -;;; This is ASDF 2.20.21: Another System Definition Facility. +;;; This is ASDF 2.20.22: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to . @@ -116,7 +116,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.20.21") + (asdf-version "2.20.22") (existing-asdf (find-class 'component nil)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) @@ -248,7 +248,8 @@ (#:defsystem #:oos #:operate #:find-system #:locate-system #:run-shell-command #:system-definition-pathname #:with-system-definitions #:search-for-system-definition #:find-component #:component-find-path - #:compile-system #:load-system #:load-systems #:test-system #:clear-system + #:compile-system #:load-system #:load-systems + #:require-system #:test-system #:clear-system #:operation #:compile-op #:load-op #:load-source-op #:test-op #:feature #:version #:version-satisfies #:upgrade-asdf @@ -349,7 +350,7 @@ #:clear-source-registry #:ensure-source-registry #:process-source-registry - #:system-registered-p #:registered-systems + #:system-registered-p #:registered-systems #:loaded-systems #:resolve-location #:asdf-message #:user-output-translations-pathname @@ -2744,6 +2745,15 @@ See OPERATE for details." (defun* load-systems (&rest systems) (map () 'load-system systems)) +(defun component-loaded-p (c) + (and (gethash 'load-op (component-operation-times (find-component c nil))) t)) + +(defun loaded-systems () + (remove-if-not 'component-loaded-p (registered-systems))) + +(defun require-system (s) + (load-system s :force-not (loaded-systems))) + (defun* compile-system (system &rest args &key force verbose version &allow-other-keys) "Shorthand for `(asdf:operate 'asdf:compile-op system)`. See OPERATE