From: intrigeri Date: Fri, 25 Jun 2010 12:38:37 +0000 (+0200) Subject: Merge remote branch 'upstream/master' into prv/po X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/commitdiff_plain/9f401d6617a11efcedda1c956b2ccea061a7540f?hp=71950b2ae5ff6fd3b631c5504455cc07699b1c11 Merge remote branch 'upstream/master' into prv/po Conflicts: IkiWiki/Plugin/po.pm --- diff --git a/IkiWiki.pm b/IkiWiki.pm index 35b38df46..0457a6c61 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1074,6 +1074,13 @@ sub urlto ($$;$) { return beautify_urlpath($link); } +sub isselflink ($$) { + my $page=shift; + my $link=shift; + + return $page eq $link; +} + sub htmllink ($$$;@) { my $lpage=shift; # the page doing the linking my $page=shift; # the page that will contain the link (different for inline) @@ -1099,7 +1106,7 @@ sub htmllink ($$$;@) { } return "$linktext" - if length $bestlink && $page eq $bestlink && + if length $bestlink && isselflink($page, $bestlink) && ! defined $opts{anchor}; if (! $destsources{$bestlink}) { diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 86d5087f4..3023fd7f9 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -64,6 +64,8 @@ sub import { inject(name => "IkiWiki::cgiurl", call => \&mycgiurl); $origsubs{'rootpage'}=\&IkiWiki::rootpage; inject(name => "IkiWiki::rootpage", call => \&myrootpage); + $origsubs{'isselflink'}=\&IkiWiki::isselflink; + inject(name => "IkiWiki::isselflink", call => \&myisselflink); } } @@ -675,6 +677,17 @@ sub myrootpage (@) { return $rootpage; } +sub myisselflink ($$) { + my $page=shift; + my $link=shift; + + return 1 if $origsubs{'isselflink'}->($page, $link); + if (istranslation($page)) { + return $origsubs{'isselflink'}->(masterpage($page), $link); + } + return; +} + # ,---- # | Blackboxes for private data # `----