From 96363fc7741377ff40133c2656ebd93025a48a81 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 10 Dec 2021 14:42:21 -0700 Subject: PROPSPEC class definition: refactor to avoid unneeded HANDLER-CASE Suggested-by: Yehouda Harpaz Signed-off-by: Sean Whitton --- src/propspec.lisp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/propspec.lisp') diff --git a/src/propspec.lisp b/src/propspec.lisp index 57209fc..0bbf12a 100644 --- a/src/propspec.lisp +++ b/src/propspec.lisp @@ -134,14 +134,9 @@ package applies to hosts.")))) (define-condition no-consfig (simple-warning) ()) -(defclass propspec () - ((systems - :initarg :systems - :initform - (or (handler-case (symbol-value (find-symbol "*CONSFIG*")) - (unbound-variable ())) - (warn 'no-consfig :format-arguments `(,*package*) :format-control -"Initialising propspec without any list of ASDF systems supplied, +(defun warn-no-consfig () + (warn 'no-consfig :format-arguments `(,*package*) :format-control + "Initialising propspec without any list of ASDF systems supplied, and *PACKAGE* is not a package for which IN-CONSFIG has been called. Consfigurator may not be able to start up remote Lisp images to effect deployments involving this propspec; see the docstring for IN-CONSFIG. @@ -149,6 +144,13 @@ deployments involving this propspec; see the docstring for IN-CONSFIG. Either call IN-CONSFIG for ~S, explicitly pass :SYSTEMS NIL to MAKE-PROPSPEC, or muffle this warning if code using this propspec will not need to start up any remote Lisp images.")) + +(defclass propspec () + ((systems + :initarg :systems + :initform + (or (aand (find-symbol "*CONSFIG*") (boundp it) (symbol-value it)) + (warn-no-consfig)) :reader propspec-systems :documentation "List of names of ASDF systems, the loading of all of which is sufficient -- cgit v1.2.3