From: Joey Hess Date: Thu, 8 Oct 2009 17:38:46 +0000 (-0400) Subject: fix handling of influences of pagespecs that fail to match X-Git-Tag: 3.20091017~27^2~69 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/f2b3d1341447cbf29189ab490daae418fbe5d02d?ds=sidebyside;hp=f2b3d1341447cbf29189ab490daae418fbe5d02d fix handling of influences of pagespecs that fail to match If a pagespec fails to match, I had been throwing the influences away, but that is not right. Consider `backlink(foo)`, where foo does not exist. It still needs to be added as an influence, because if it is created, it will influence the pagespec to match. But with that fix, `link(bar)` had as influences all pages, whether they link to bar or not. Which is not necessary, because modifiying a page to add a link to bar will directly cause the pagespec to match. So, in match_link (and all the match_* functions for page metadata), only return an influence if the match succeeds. match_backlink had been implemented as the inverse of match_link, but that is no longer completly true. While match_link does not return an influence on failure, match_backlink does. match_created_before/after also return the influence on failure, this way if created_after(foo) currently fails because foo does not exist, it will still update the page with the pagespec if foo is created. ---