summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/dependency_types.mdwn29
1 files changed, 8 insertions, 21 deletions
diff --git a/doc/todo/dependency_types.mdwn b/doc/todo/dependency_types.mdwn
index da9b5e6cf..4db633ead 100644
--- a/doc/todo/dependency_types.mdwn
+++ b/doc/todo/dependency_types.mdwn
@@ -553,29 +553,16 @@ operators. Currently, this turns into roughly:
`FailReason() & SuccessReason(patch)`
Let's say that the glob instead returns a HardFailReason, which when
-ANDed with another object, drops their influences. (But when ORed, combines
-them.) Fixes the above, but does it always work?
+ANDed with another object, blocks their influences. (But when ORed,
+combines them.)
-"(bugs/* or link(patch)) and backlink(index)" =>
-`( HardFailReason() | SuccessReason(page) ) & SuccessReason(index)`` =>
-`SuccessReason(page & SuccessReason(index)` =>
-SuccessReason(page, index) => right
+Question: Are all pagespec terms that return reason objects w/o any
+influence info, suitable to block influence in this way?
-"(bugs/* and link(patch)) or backlink(index)" =>
-`( HardFailReason() & SuccessReason(page) ) | SuccessReason(index)`` =>
-`HardFailReason() | SuccessReason(index)` =>
-`SuccessReason(index)` => right
-
-Ok so far, but:
-
-"!bugs/* and link(patch)" =>
-`!SuccessReason() | SuccessReason(bugs/foo)` =>
-'FailReason() | SuccessReason(bugs/foo)
-`FailReason(bugs/foo)` => wrong!
-
-This could be fixed by adding a HardSuccessReason that glob also returns.
-Maybe just a field of the object that is set if it is "hard" is a better
-approach though.
+To be suitable to block, a term should never change from failing to match a
+page to successfully matching it, unless that page is directly changed in a
+way that influences are not needed for ikiwiki to notice. But, if a term
+did not meet these criteria, it would have an influence. QED.
#### Influence types