diff options
Diffstat (limited to 'doc/bugs/backlink__40__.__41___doesn__39__t_work.mdwn')
-rw-r--r-- | doc/bugs/backlink__40__.__41___doesn__39__t_work.mdwn | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/doc/bugs/backlink__40__.__41___doesn__39__t_work.mdwn b/doc/bugs/backlink__40__.__41___doesn__39__t_work.mdwn new file mode 100644 index 000000000..534e5a01f --- /dev/null +++ b/doc/bugs/backlink__40__.__41___doesn__39__t_work.mdwn @@ -0,0 +1,57 @@ +It seems `backlink(.)` doesn't work, that is, it doesn't match pages linked +to from the current page. + +If I have two test pages, `foo`, which links to `bar`, then (on the `foo` +page): + + * backlink(foo) lists 'bar' + * backlink(.) lists nothing + +tested with 3.20120109. + +— [[Jon]] + +> The attached patch should fix it: + +>> [[applied|done]] thanks --[[Joey]] + + From 30512ac5f6a724bafb1095ab246e0648999f7b6c Mon Sep 17 00:00:00 2001 + From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> + Date: Fri, 13 Jan 2012 11:02:11 +0100 + Subject: [PATCH] backlink(.) should behave like backlink(<current page>) + + Since commit c4d4cad3befbbd444d094cbeb0b6ebba3910a025, the single dot in + a pagespec can be used to mean the current page. While this worked + correctly in link() it didn't work in backlink(). Fix this by explicitly + checking the testpage in backlink against . and replacing it with the + current location if necessary. + --- + IkiWiki.pm | 10 ++++++++-- + 1 files changed, 8 insertions(+), 2 deletions(-) + + diff --git a/IkiWiki.pm b/IkiWiki.pm + index 08e242a..bc56501 100644 + --- a/IkiWiki.pm + +++ b/IkiWiki.pm + @@ -2647,8 +2647,14 @@ sub match_link ($$;@) { + } + + sub match_backlink ($$;@) { + - my $ret=match_link($_[1], $_[0], @_); + - $ret->influences($_[1] => $IkiWiki::DEPEND_LINKS); + + my $page=shift; + + my $testpage=shift; + + my %params=@_; + + if ($testpage eq '.') { + + $testpage = $params{'location'} + + } + + my $ret=match_link($testpage, $page, @_); + + $ret->influences($testpage => $IkiWiki::DEPEND_LINKS); + return $ret; + } + + -- + 1.7.8.rc2.253.gdbf3 + + +> (you need to re-make IkiWiki for it to work) |