From: joey Date: Fri, 10 Mar 2006 07:00:09 +0000 (+0000) Subject: foo X-Git-Tag: 1.0~556 X-Git-Url: http://git.tremily.us/?p=ikiwiki.git;a=commitdiff_plain;h=d3d8890ee904982e3b1ae81c8a5f6571bfcf3eab foo --- diff --git a/doc/bugs.mdwn b/doc/bugs.mdwn new file mode 100644 index 000000000..235f06fb7 --- /dev/null +++ b/doc/bugs.mdwn @@ -0,0 +1,6 @@ +* 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. + And if Foo/Bar/Baz is then removed, it forgets to update Foo/Bar to link + back to Foo/Baz. diff --git a/doc/todo.mdwn b/doc/todo.mdwn index 1a0dd6fb4..b7b23ef56 100644 --- a/doc/todo.mdwn +++ b/doc/todo.mdwn @@ -50,3 +50,5 @@ Being case insensative is handy, but it does make the [[BackLinks]] a bit ugly compared to other links. It should be possible to support pagenames that have uppercase, while still allowing them to be linked to using any case. + +## [[Bugs]] diff --git a/ikiwiki b/ikiwiki index 2808ccc78..f42be3b01 100755 --- a/ikiwiki +++ b/ikiwiki @@ -154,7 +154,7 @@ sub bestlink ($$) { } } while $cwd=~s!/?[^/]+$!!; - print STDERR "warning: page $page, broken link: $link\n"; + #print STDERR "warning: page $page, broken link: $link\n"; return ""; } @@ -173,7 +173,9 @@ sub htmllink ($$) { return $link if $page eq $bestlink; # TODO BUG: %renderedfiles may not have it, if the linked to page - # was also added and isn't yet rendered! + # was also added and isn't yet rendered! Note that this bug is + # masked by the bug mentioned below that makes all new files + # be rendered twice. if (! grep { $_ eq $bestlink } values %renderedfiles) { $bestlink=htmlpage($bestlink); } @@ -385,7 +387,7 @@ sub refresh () { # if any files were added or removed, check to see if each page # needs an update due to linking to them # TODO: inefficient; pages may get rendered above and again here; - # problem is the bestlink may have changes and we won't know until + # problem is the bestlink may have changed and we won't know until # now if (@add || @del) { FILE: foreach my $file (@files) { @@ -408,7 +410,7 @@ FILE: foreach my $file (@files) { # pages it links to # TODO: inefficient; pages may get rendered above and again here; # problem is the linkbacks could be wrong in the first pass render - # above. + # above if (%rendered) { my %linkchanged; foreach my $file (keys %rendered, @del) {