diff options
author | http://smcv.pseudorandom.co.uk/ <smcv@web> | 2012-04-05 05:35:19 -0400 |
---|---|---|
committer | admin <admin@branchable.com> | 2012-04-05 05:35:19 -0400 |
commit | 49c67905a9dd2d106bb011013961d2f238ba3953 (patch) | |
tree | c3b8d712c817fa96bbcc980b70c4860698c12426 /doc | |
parent | b82aa6208fc5bb36c593df14c155dda2fa0397f7 (diff) | |
download | ikiwiki-49c67905a9dd2d106bb011013961d2f238ba3953.tar ikiwiki-49c67905a9dd2d106bb011013961d2f238ba3953.tar.gz |
turn git commit message into bug report
Diffstat (limited to 'doc')
-rw-r--r-- | doc/bugs/nonexistent_pages_in_inline_pagenames_do_not_add_a_dependency.mdwn | 32 |
1 files changed, 32 insertions, 0 deletions
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]] |