From e4bd17dc7e667fad43abe718f551569afadfb41c Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Mon, 23 Sep 2013 01:20:12 -0400 Subject: [PATCH] Introduce load-systems* as a variant of load-systems that allows for keyword arguments. --- defsystem.lisp | 2 +- interface.lisp | 2 +- operate.lisp | 9 +++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/defsystem.lisp b/defsystem.lisp index 2a3baab9..8f3a5500 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 7fb3afd2..84e80add 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 09be3924..84e1b25c 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." -- GitLab