aboutsummaryrefslogtreecommitdiff
path: root/src/combinator.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-25 13:40:07 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-25 13:40:07 -0700
commit48b3486d19eadc42280fad7b194ed00449786bb7 (patch)
treec751e5674338c091a04f9de2e1b0489e65fe2e56 /src/combinator.lisp
parent8020dc787a7bd1f53a1c1ee5d7a01ca36dd1520f (diff)
downloadconsfigurator-48b3486d19eadc42280fad7b194ed00449786bb7.tar.gz
add TODO about establishing SKIP-PROPERTY restart more than once
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/combinator.lisp')
-rw-r--r--src/combinator.lisp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/combinator.lisp b/src/combinator.lisp
index 7602d3e..4c61a9b 100644
--- a/src/combinator.lisp
+++ b/src/combinator.lisp
@@ -79,6 +79,10 @@ apply the elements of REQUIREMENTS in reverse order."
;; should not be returned by property subroutines, per the spec
(defun apply-and-print (propapps &optional unapply)
(dolist (pa (if unapply (reverse propapps) propapps))
+ ;; 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.
(let* ((result (restart-case
(with-indented-inform
(if unapply (propappunapply pa) (propappapply pa)))