aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhttp://smcv.pseudorandom.co.uk/ <smcv@web>2012-04-05 05:35:19 -0400
committeradmin <admin@branchable.com>2012-04-05 05:35:19 -0400
commit49c67905a9dd2d106bb011013961d2f238ba3953 (patch)
treec3b8d712c817fa96bbcc980b70c4860698c12426
parentb82aa6208fc5bb36c593df14c155dda2fa0397f7 (diff)
downloadikiwiki-49c67905a9dd2d106bb011013961d2f238ba3953.tar
ikiwiki-49c67905a9dd2d106bb011013961d2f238ba3953.tar.gz
turn git commit message into bug report
-rw-r--r--doc/bugs/nonexistent_pages_in_inline_pagenames_do_not_add_a_dependency.mdwn32
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]]