diff --git a/defsystem.lisp b/defsystem.lisp index 2a3baab9be61843b0f58eb1d4decf3abd9282369..8f3a55001400fc8fd65131dd47e836adc2f92035 100644 --- a/defsystem.lisp +++ b/defsystem.lisp @@ -222,7 +222,7 @@ (defsystem-dependencies (loop :for spec :in defsystem-depends-on :collect (resolve-dependency-spec nil spec)))) (setf (gethash name *systems-being-defined*) system) - (apply 'load-systems defsystem-dependencies) + (load-systems* defsystem-dependencies) ;; We change-class AFTER we loaded the defsystem-depends-on ;; since the class might be defined as part of those. (let ((class (class-for-type nil class))) diff --git a/interface.lisp b/interface.lisp index 7fb3afd2d42af1058b71119323cad22e5b34bfc3..84e80add09f8e748c62d63dcd7c78e97b665ac06 100644 --- a/interface.lisp +++ b/interface.lisp @@ -22,7 +22,7 @@ #:oos #:operate #:make-plan #:perform-plan #:sequential-plan #:system-definition-pathname #:with-system-definitions #:search-for-system-definition #:find-component #:component-find-path - #:compile-system #:load-system #:load-systems + #:compile-system #:load-system #:load-systems #:load-systems* #:require-system #:test-system #:clear-system #:operation #:make-operation #:find-operation #:upward-operation #:downward-operation #:sideway-operation #:selfward-operation diff --git a/operate.lisp b/operate.lisp index 09be392499e8e39d4fdf47ca861dbe4c91b68584..84e1b25c807b52995fc65d02abebfd7ae12e4a27 100644 --- a/operate.lisp +++ b/operate.lisp @@ -10,7 +10,8 @@ #:operate #:oos #:*systems-being-operated* #:build-system - #:load-system #:load-systems #:compile-system #:test-system #:require-system + #:load-system #:load-systems #:load-systems* + #:compile-system #:test-system #:require-system #:*load-system-operation* #:module-provide-asdf #:component-loaded-p #:already-loaded-systems)) (in-package :asdf/operate) @@ -120,9 +121,13 @@ for how to load or compile stuff") (apply 'operate *load-system-operation* system keys) t) + (defun load-systems* (systems &rest keys) + "Loading multiple systems at once." + (dolist (s systems) (apply 'load-system s keys))) + (defun load-systems (&rest systems) "Loading multiple systems at once." - (map () 'load-system systems)) + (load-systems* systems)) (defun compile-system (system &rest args &key force force-not verbose version &allow-other-keys) "Shorthand for `(asdf:operate 'asdf:compile-op system)`. See OPERATE for details."