diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index eebe3460f..434fde527 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -300,7 +300,8 @@ sub pagetemplate (@) { $template->param(meta => join("\n", grep { (! $seen{$_}) && ($seen{$_}=1) } @{$metaheaders{$page}})); } if (exists $pagestate{$page}{meta}{title} && $template->query(name => "title")) { - $template->param(title => HTML::Entities::encode_numeric($pagestate{$page}{meta}{title})); + eval q{use HTML::Entities}; + $template->param(title => encode_numeric($pagestate{$page}{meta}{title})); $template->param(title_overridden => 1); } @@ -315,7 +316,8 @@ sub pagetemplate (@) { } foreach my $field (qw{description}) { - $template->param($field => HTML::Entities::encode_numeric($pagestate{$page}{meta}{$field})) + eval q{use HTML::Entities}; + $template->param($field => encode_numeric($pagestate{$page}{meta}{$field})) if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field); } diff --git a/debian/changelog b/debian/changelog index dffad9aec..51c426df4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,8 @@ ikiwiki (3.20110329) UNRELEASED; urgency=low * Recommend libgravatar-url-perl, which contains Libravatar::URL. * monotone: Implement rcs_getmtime, and work around a problem with monotone 0.48 that affects rcs_getctime. (Thanks, Richard Levitte) + * meta: Fix bug in loading of HTML::Entities that can break inline + archive=yes (mostly masked by other plugins that load the module). -- Joey Hess Mon, 28 Mar 2011 13:08:23 -0400 diff --git a/doc/bugs/inline_archive_crash.mdwn b/doc/bugs/inline_archive_crash.mdwn new file mode 100644 index 000000000..a1139a9bc --- /dev/null +++ b/doc/bugs/inline_archive_crash.mdwn @@ -0,0 +1,6 @@ + \[[!inline Error: Undefined subroutine &HTML::Entities::encode_numeric called at /usr/share/perl5/IkiWiki/Plugin/meta.pm line 292.]] + +This occurred when recentchanges was disabled and building a change +to a page that inlined other pages with archive=yes. I have +committed a fix; filing a bug since the fix won't be landing in Debian stable any +time soon. [[done]] --[[Joey]]