summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki.pm1
-rw-r--r--IkiWiki/Plugin/po.pm12
2 files changed, 10 insertions, 3 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index 97946bfcf..926d42a49 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -1891,6 +1891,7 @@ sub template_depends ($$;@) {
},
loop_context_vars => 1,
die_on_bad_params => 0,
+ parent_global_vars => 1,
filename => $filename,
@_,
($untrusted ? (no_includes => 1) : ()),
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index 79142ed1f..9ed4a1adb 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -367,7 +367,8 @@ sub pagetemplate (@) {
&& $masterpage eq "index") {
$template->param('parentlinks' => []);
}
- if (ishomepage($page) && $template->query(name => "title")) {
+ if (ishomepage($page) && $template->query(name => "title")
+ && !$template->param("title_overridden")) {
$template->param(title => $config{wikiname});
}
}
@@ -635,7 +636,7 @@ sub mytargetpage ($$) {
return $origsubs{'targetpage'}->($page, $ext);
}
-sub myurlto ($$;$) {
+sub myurlto ($;$$) {
my $to=shift;
my $from=shift;
my $absolute=shift;
@@ -644,7 +645,12 @@ sub myurlto ($$;$) {
if (! length $to
&& $config{po_link_to} eq "current"
&& istranslatable('index')) {
- return IkiWiki::beautify_urlpath(IkiWiki::baseurl($from) . "index." . lang($from) . ".$config{htmlext}");
+ if (defined $from) {
+ return IkiWiki::beautify_urlpath(IkiWiki::baseurl($from) . "index." . lang($from) . ".$config{htmlext}");
+ }
+ else {
+ return $origsubs{'urlto'}->($to,$from,$absolute);
+ }
}
# avoid using our injected beautify_urlpath if run by cgi_editpage,
# so that one is redirected to the just-edited page rather than to the