diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-07-06 11:04:58 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-07-10 20:46:00 -0700 |
commit | c6f28e53564be4d80d8f4ef98ab0251bec8409cd (patch) | |
tree | a2de65c13fee8e0aabb902c1197316e7112853f8 /src/combinator.lisp | |
parent | 28350744e602b3291a169ea75713b1fc3caaef5d (diff) | |
download | consfigurator-c6f28e53564be4d80d8f4ef98ab0251bec8409cd.tar.gz |
make it possible to distinguish SKIP-PROPERTY restarts in debugger
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/combinator.lisp')
-rw-r--r-- | src/combinator.lisp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/combinator.lisp b/src/combinator.lisp index 420576e..9e5ee8f 100644 --- a/src/combinator.lisp +++ b/src/combinator.lisp @@ -141,16 +141,15 @@ apply the elements of REQUIREMENTS in reverse order." (not (get (car propapp) 'desc)))))) result) (unwind-protect-in-parent - ;; TODO Nested combinators can mean that we establish this - ;; restart more than once, and they all appear in the debugger - ;; 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 () + :report (lambda (s) + (format s "Skip (~{~S~^ ~})" + (cons (car propapp) + (propappargs propapp)))) (signal 'skipped-properties) 'failed-change))) (when (and (plusp (length buffer)) |