};
}
if ($@) {
- $feed->{message}=gettext("feed crashed XML::Feed!")." ($@)";
+ # gettext can clobber $@
+ my $error = $@;
+ $feed->{message}=gettext("feed crashed XML::Feed!")." ($error)";
$feed->{error}=1;
debug($feed->{message});
next;
# XML::Feed doesn't work around XML::Atom's bizarre
# API, so we will. Real unicode strings? Yes please.
# See [[bugs/Aggregated_Atom_feeds_are_double-encoded]]
+ no warnings 'once';
local $XML::Atom::ForceUnicode = 1;
+ use warnings;
my $c=$entry->content;
# atom feeds may have no content, only a summary
-e "$config{srcdir}/".htmlfn($page.$c)) {
$c++
}
+ $page=$page.$c;
$guid->{page}=$page;
eval { write_page($feed, $guid, $mtime, \%params) };
if ($@) {
# assume failure was due to a too long filename
- # (or o
$c="";
$page=$feed->{dir}."/item";
while (exists $IkiWiki::pagecase{lc $page.$c} ||
-e "$config{srcdir}/".htmlfn($page.$c)) {
$c++
}
+ $page=$page.$c;
$guid->{page}=$page;
write_page($feed, $guid, $mtime, \%params);
$template=template($feed->{template}, blind_cache => 1);
};
if ($@) {
- print STDERR gettext("failed to process template:")." $@";
+ # gettext can clobber $@
+ my $error = $@;
+ print STDERR gettext("failed to process template:")." $error";
return;
}
$template->param(title => $params{title})