From 56bc5a2c24b0fe56c72ced9a5ac85d982d592567 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Mon, 5 Jul 2021 16:29:46 -0700 Subject: signal SKIPPED-PROPERTIES & factor out interpreting exit codes Unconditionally signalling FAILED-CHANGE does not make sense because perhaps the type of condition C is not a subtype of SIMPLE-CONDITION. Moreover, when we invoke the SKIP-PROPERTY restart we do not actually pass the condition. For simplicity, and since all we need is notification that a SKIP-PROPERTY restart was invoked, instead define and signal a special-purpose condition. Additionally, use an exit code to pass the signal between Lisp images. Signed-off-by: Sean Whitton --- src/combinator.lisp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/combinator.lisp') diff --git a/src/combinator.lisp b/src/combinator.lisp index 68642ea..220b61e 100644 --- a/src/combinator.lisp +++ b/src/combinator.lisp @@ -151,11 +151,8 @@ apply the elements of REQUIREMENTS in reverse order." (restart-case (if announce (announce-propapp-apply propapp) (propapp-apply propapp)) - (skip-property (c) - ;; Re-signal as a non-error, for notification purposes. - (signal 'failed-change - :format-control (simple-condition-format-control c) - :format-arguments (simple-condition-format-arguments c)) + (skip-property () + (signal 'skipped-properties) 'failed-change))) (when (and (plusp (length buffer)) (or (> *consfigurator-debug-level* 1) -- cgit v1.2.3