]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/dependency_types.mdwn
pagespec aliases: new code
[git.ikiwiki.info.git] / doc / todo / dependency_types.mdwn
index e95965c3325fffffd32ee2988a4fd1526458188a..4db633eadfa3bcef58d16f70a0f4cf911848b4ed 100644 (file)
@@ -280,6 +280,7 @@ sigh.
   that the page links to, which is just what link dependencies are
   triggered on.
 
+[[done]]
 ----
 
 ### the removal problem
@@ -408,6 +409,11 @@ can indirectly influence what pages a pagespec matches.
 >>>> find changes in deleted pages. (I verified this works by experiment,
 >>>> also that `created_after` is triggered by a deleted page.) --[[Joey]]
 
+>>>>> Oh, okie.  I looked at the source, saw the `if (exists $IkiWiki::pagectime{$testpage})` and assumed it would fail.
+>>>>> Of course, having it succeed doesn't cure all the issues -- just moves them.  With `created_before()` succeeding
+>>>>> for deleted files, this pagespec will be match any removal in the entire wiki with the base mechanism.  Whether this is
+>>>>> better or worse than the longer indirect influence list is an empirical question. -- [[Will]]
+
 * The pagespec "foo" has an empty influence list. This is because a
   modification/creation/removal of foo directly changes what the pagespec
   matches.
@@ -547,22 +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?
-
-"(bugs/* or link(patch)) and backlink(index)" =>
-`( HardFailReason() | SuccessReason(page) ) & SuccessReason(index)`` =>
-`SuccessReason(page & SuccessReason(index)` =>
-SuccessReason(page, index) => right
-
-"(bugs/* and link(patch)) or backlink(index)" =>
-`( HardFailReason() & SuccessReason(page) ) | SuccessReason(index)`` =>
-`HardFailReason() | SuccessReason(index)` =>
-`SuccessReason(index)` => right
-
-"!bugs/* and link(patch)" =>
-`HardFailReason() | SuccessReason(bugs/foo)` =>  
-`HardFailReason()` => right
+ANDed with another object, blocks their influences. (But when ORed,
+combines them.)
+
+Question: Are all pagespec terms that return reason objects w/o any
+influence info, suitable to block influence in this way? 
+
+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