X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/4cce29259353223b1091a83e03748ae4b34b0796..855cfd0ec741698326ae712b031a7aa28c832327:/doc/todo/dependency_types.mdwn 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