summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2011-04-12 12:30:24 -0400
committerJoey Hess <joey@kitenet.net>2011-04-12 12:30:24 -0400
commitd22489299adb04fdce241a9365b47799ba7f66d6 (patch)
tree6a234a859b1ac69a21d4feb15e6275cad7a85e46
parent6da98ac3f7bccc9d843eca44d53b35612458d9f5 (diff)
meta: Fix bug in loading of HTML::Entities that can break inline archive=yes (mostly masked by other plugins that load the module).
-rw-r--r--IkiWiki/Plugin/meta.pm6
-rw-r--r--debian/changelog2
-rw-r--r--doc/bugs/inline_archive_crash.mdwn6
3 files changed, 12 insertions, 2 deletions
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 <joeyh@debian.org> 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]]