summaryrefslogtreecommitdiff
path: root/doc/bugs
diff options
context:
space:
mode:
Diffstat (limited to 'doc/bugs')
-rw-r--r--doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn4
-rw-r--r--doc/bugs/bestlink_change_update_issue.mdwn30
-rw-r--r--doc/bugs/transitive_dependencies.mdwn2
3 files changed, 24 insertions, 12 deletions
diff --git a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn
index 32f9f1245..13b80b436 100644
--- a/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn
+++ b/doc/bugs/Inline_doesn__39__t_wikilink_to_pages.mdwn
@@ -2,10 +2,6 @@ It seems that the [[ikiwiki/directive/inline]] directive doesn't generate wikili
\[[!inline pages="bugs/* and !*/discussion and backlink(bugs)" feeds=no postform=no archive=yes show="10"]]
-But here it is:
-
-[[!inline pages="bugs/* and !*/discussion and backlink(bugs)" feeds=no postform=no archive=yes show="10"]]
-
and note that it only included the 'normal' wikilinks (and also note that this page is not marked done even though the done page is inlined).
One might also wonder if inline would make this page link to any internal links on those inlined pages too, but I think
that would be overkill.
diff --git a/doc/bugs/bestlink_change_update_issue.mdwn b/doc/bugs/bestlink_change_update_issue.mdwn
index 5ce4a93d2..8a526e821 100644
--- a/doc/bugs/bestlink_change_update_issue.mdwn
+++ b/doc/bugs/bestlink_change_update_issue.mdwn
@@ -1,13 +1,29 @@
* Has bugs updating things if the bestlink of a page changes due to
adding/removing a page. For example, if Foo/Bar links to "Baz", which is
Foo/Baz, and Foo/Bar/Baz gets added, it will update the links in Foo/Bar
- to point to it, but will forget to update the linkbacks in Foo/Baz.
+ to point to it, but will forget to update the backlinks in Foo/Baz.
-* And if Foo/Bar/Baz is then removed, it forgets to update Foo/Bar to link
- back to Foo/Baz.
+ The buggy code is in `refresh()`, when it determines what
+ links, on what pages, have changed. It only looks at
+ changed/added/deleted pages when doing this. But when Foo/Bar/Baz
+ is added, Foo/Bar is not changed -- so the change it its
+ backlinks is not noticed.
-As of 1.33, this is still true. The buggy code is the %linkchanged
-calculation in refresh(), which doesn't detect that the link has changed in
-this case.
+ To fix this, it needs to consider, when rebuilding Foo/Bar for the changed
+ links, what oldlinks Foo/Bar had. If one of the oldlinks linked to
+ Foo/Baz, and not links to Foo/Bar/Baz, it could then rebuild Foo/Baz.
-Still true in 1.43 although the code is much different now..
+ Problem is that in order to do that, it needs to be able to tell that
+ the oldlinks linked to Foo/Baz. Which would mean either calculating
+ all links before the scan phase, or keeping a copy of the backlinks
+ from the last build, and using that. The first option would be a lot
+ of work for this minor issue.. it might be less expensive to just rebuild
+ *all* pages that Foo/Bar links to.
+
+ Keeping a copy of the backlinks has some merit. It could also be
+ incrementally updated.
+
+* And if Foo/Bar/Baz is then removed, Foo/Bar gets a broken link,
+ instead of changing back to linking to Foo/Baz.
+
+This old bug still exists as of 031d1bf5046ab77c796477a19967e7c0c512c417.
diff --git a/doc/bugs/transitive_dependencies.mdwn b/doc/bugs/transitive_dependencies.mdwn
index 70b5fb4d4..c44fe7962 100644
--- a/doc/bugs/transitive_dependencies.mdwn
+++ b/doc/bugs/transitive_dependencies.mdwn
@@ -65,7 +65,7 @@ Downsides here:
modification to plugins/brokenlinks causes an unnecessary update of
plugins, and could be solved by adding more dependency types.)
---[[Joey]]
+[[done]] --[[Joey]]
> Some questions/comments... I've thought about this a lot for [[todo/tracking_bugs_with_dependencies]].
>