From 84220cdb2c244f19db4e958187da51251be2ebdd Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Mon, 28 Jun 2021 17:56:23 -0700 Subject: report whether FAILED-CHANGE, :NO-CHANGE or something else at end Signed-off-by: Sean Whitton --- src/combinator.lisp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/combinator.lisp') diff --git a/src/combinator.lisp b/src/combinator.lisp index 636893e..bcf532a 100644 --- a/src/combinator.lisp +++ b/src/combinator.lisp @@ -147,10 +147,16 @@ apply the elements of REQUIREMENTS in reverse order." ;; without any way to distinguish them. Perhaps we can use the ;; :TEST argument to RESTART-CASE such that only the ;; innermost(?) skip option appears. - (setq result (restart-case (if announce - (announce-propapp-apply propapp) - (propapp-apply propapp)) - (skip-property () 'failed-change))) + (setq result + (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)) + 'failed-change))) (when (and (plusp (length buffer)) (or (> *consfigurator-debug-level* 1) (not (eql result :no-change)))) -- cgit v1.2.3