From: Joey Hess Date: Thu, 5 Apr 2012 16:22:41 +0000 (-0400) Subject: Merge remote-tracking branch 'smcv/trail' X-Git-Tag: 3.20120419~64 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/c3d5775757e334e167beed98af01d4e3b2396dd2?hp=276ab9a78a0577ddd11f0e8e419149c6241af90e Merge remote-tracking branch 'smcv/trail' --- diff --git a/doc/bugs/nonexistent_pages_in_inline_pagenames_do_not_add_a_dependency.mdwn b/doc/bugs/nonexistent_pages_in_inline_pagenames_do_not_add_a_dependency.mdwn new file mode 100644 index 000000000..6f4656149 --- /dev/null +++ b/doc/bugs/nonexistent_pages_in_inline_pagenames_do_not_add_a_dependency.mdwn @@ -0,0 +1,32 @@ +In commit aaa72a3a8, Joey noted: + +> bestlink returns '' if no existing page matches a link. This propigated +> through inline and other plugins, causing uninitialized value warnings, and +> in some cases (when filecheck was enabled) making the whole directive fail. +> +> Skipping the empty results fixes that, but this is papering over another +> problem: If the missing page is later added, there is not dependency +> information to know that the inline needs to be updated. Perhaps smcv will +> fix that later. + +Potential ways this could be addressed: + +* Add a presence dependency on everything the reference could match: + so if the `inline` is on `a/b/c` and the missing page is `m`, + add a `$depends_simple` `$DEPEND_PRESENCE` dependency on `a/b/c/m`, + `a/b/m`, `a/m`, `m` and (if configured) `$config{userdir}/m` + +* Make the page names in `\[[!inline pagenames=...]]` count as wikilinks, + changing the behaviour of `link()` and backlinks, but causing appropriate + rebuilds via the special cases in `IkiWiki::Render` + +* Extend the special cases in `IkiWiki::Render` to consider a superset of + wikilinks, to which `pagenames` would add its named pages, without + affecting `link()` and backlinks + +(Note that `\[[!inline pages=...]]` cannot count as wikilinks, because +pagespecs can contain `link()`, so can't be evaluated until we know what +wikilinks exist, at which point it's too late to add more wikilinks.) + +I think the presence dependency is probably the cleanest approach? +--[[smcv]] diff --git a/doc/bugs/trail_test_suite_failures.mdwn b/doc/bugs/trail_test_suite_failures.mdwn index db010c68e..fcb2f0718 100644 --- a/doc/bugs/trail_test_suite_failures.mdwn +++ b/doc/bugs/trail_test_suite_failures.mdwn @@ -1,9 +1,22 @@ +[[!template id=gitbranch branch=smcv/trail author=smcv]] [[!tag patch]] + `t/trail.t` has some test suite failures. This is after applying [[smcv]]'s patch that fixed some races that caused it to fail sometimes. These remaining failures may also be intermittant, although I can get them reliably on my laptop. I've added some debugging output, which seems to point to an actual bug in the plugin AFAICS. --[[Joey]] +> I can reproduce this reliably at 0a23666ddd but not 3.20120203. Bisecting +> indicates that it regressed in aaa72a3a80f, "inline: When the pagenames list +> includes pages that do not exist, skip them". +> +> I don't think this is the bug noted in the commit message - the inline +> containing `sorting/new` uses `pages`, not `pagenames`. --[[smcv]] + +>> It seems you removed `trail` support from `inline` in that commit. +>> Assuming that wasn't intentional, this is fixed in `smcv/trail`. +>> --[[smcv]] +
 ok 71 - expected n=sorting/end p=sorting/beginning in sorting/middle.html
 not ok 72 - expected n=sorting/new p=sorting/middle in sorting/end.html