From: Giuseppe Bilotta Date: Fri, 13 Jan 2012 10:02:11 +0000 (+0100) Subject: backlink(.) should behave like backlink() X-Git-Url: http://git.tremily.us/?p=ikiwiki.git;a=commitdiff_plain;h=17fb0cf9f9897121d9996e8c23ac0056d29acd7b backlink(.) should behave like backlink() 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. --- diff --git a/IkiWiki.pm b/IkiWiki.pm index 08e242a1f..bc56501da 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; }