ikiwiki/IkiWiki
Simon McVittie 24599e3cc9 In all=no conditionals, depend on the influences, not the test pagespec
Previously, if a page like `plugins/trail` contained a conditional like

    [[!if test="backlink(plugins/goodstuff)" all=no]]

(which it gets via `templates/gitbranch`), then the
[[plugins/conditional]] plugin would give `plugins/trail` a dependency on
`(backlink(plugins/goodstuff)) and plugins/trail`. This dependency is
useless: that pagespec can never match any page other than
`plugins/trail`, but if `plugins/trail` has been modified or deleted,
then it's going to be rendered or deleted *anyway*, so there's no point
in spending time evaluating match_backlink for it.

Conversely, the influences from the result were not taken into account,
so `plugins/trail` did not have the
`{ "plugins/goodstuff" => $DEPEND_LINKS }` dependency that it should.

Invert that, depending on the influences but not on the test.

Bug: http://ikiwiki.info/bugs/editing_gitbranch_template_is_really_slow/
2014-03-03 11:30:36 +00:00
..
Plugin In all=no conditionals, depend on the influences, not the test pagespec 2014-03-03 11:30:36 +00:00
Setup Merge remote-tracking branch 'schmonz/portability' 2012-01-30 15:20:54 -04:00
CGI.pm protect $@ whenever a block using $@ is non-trivial 2014-02-21 17:06:36 +00:00
Receive.pm Consume all stdin when rcs_receive short-circuits, to avoid git SIPIPE race. 2011-12-05 15:17:01 -04:00
Render.pm minor opt 2013-11-16 20:51:09 -04:00
Setup.pm Detect plugins with a broken getsetup and warn. 2013-03-04 13:19:05 -04:00
UserInfo.pm remove deprecated admin prefs 2008-12-24 16:16:03 -05:00
Wrapper.pm add void prototype 2014-01-02 12:24:26 -04:00