summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2009-01-02 15:14:58 +0100
committerintrigeri <intrigeri@boum.org>2009-01-02 15:14:58 +0100
commite5222db332190de20551bb18c5c46df1632e0e1d (patch)
tree5a2929a142a3daae4c21dcba9015e6b9b4df208b
parent226abb373abc2465868ebedfff4980878da0c5a8 (diff)
po: avoid warnings and possible bugs with nested named subroutines
Signed-off-by: intrigeri <intrigeri@boum.org>
-rw-r--r--IkiWiki/Plugin/po.pm18
1 files changed, 9 insertions, 9 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index 75344b4b6..80b874939 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -954,17 +954,17 @@ sub po_to_markup ($$;$) {
DIR => File::Spec->tmpdir,
UNLINK => 1)->filename;
- sub failure ($) {
+ my $fail = sub ($) {
my $msg = "po(po_to_markup) - $page : " . shift;
if ($nonfatal) {
warn $msg;
return undef;
}
error($msg, sub { unlink $infile, $outfile});
- }
+ };
writefile(basename($infile), File::Spec->tmpdir, $content)
- or return failure(sprintf(gettext("failed to write %s"), $infile));
+ or return $fail->(sprintf(gettext("failed to write %s"), $infile));
my $masterfile = srcfile($pagesources{masterpage($page)});
my %options = (
@@ -976,12 +976,12 @@ sub po_to_markup ($$;$) {
'file_in_name' => [ $masterfile ],
'file_in_charset' => 'utf-8',
'file_out_charset' => 'utf-8',
- ) or return failure(gettext("failed to translate"));
+ ) or return $fail->(gettext("failed to translate"));
$doc->write($outfile)
- or return failure(sprintf(gettext("failed to write %s"), $outfile));
+ or return $fail->(sprintf(gettext("failed to write %s"), $outfile));
$content = readfile($outfile)
- or return failure(sprintf(gettext("failed to read %s"), $outfile));
+ or return $fail->(sprintf(gettext("failed to read %s"), $outfile));
# Unlinking should happen automatically, thanks to File::Temp,
# but it does not work here, probably because of the way writefile()
@@ -1011,14 +1011,14 @@ sub isvalidpo ($) {
DIR => File::Spec->tmpdir,
UNLINK => 1)->filename;
- sub failure ($) {
+ my $fail = sub ($) {
my $msg = '[po/isvalidpo] ' . shift;
unlink $infile;
return IkiWiki::FailReason->new("$msg");
- }
+ };
writefile(basename($infile), File::Spec->tmpdir, $content)
- or return failure(sprintf(gettext("failed to write %s"), $infile));
+ or return $fail->(sprintf(gettext("failed to write %s"), $infile));
my $res = (system("msgfmt", "--check", $infile, "-o", "/dev/null") == 0);