diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-06-28 17:56:23 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-06-28 17:56:23 -0700 |
commit | 84220cdb2c244f19db4e958187da51251be2ebdd (patch) | |
tree | 029fa0769ccdb146747cad24e9cffc69ebe41b48 /src/combinator.lisp | |
parent | 519c4dbd5a6ce576db4adf40c973b97c0d62b8c2 (diff) | |
download | consfigurator-84220cdb2c244f19db4e958187da51251be2ebdd.tar.gz |
report whether FAILED-CHANGE, :NO-CHANGE or something else at end
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/combinator.lisp')
-rw-r--r-- | src/combinator.lisp | 14 |
1 files changed, 10 insertions, 4 deletions
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)))) |