From 8e604c0f0af37c528f7d82540a891d26926c9938 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 3 Feb 2011 12:49:13 -0400 Subject: [PATCH 1/1] htmltidy: Avoid breaking the sidebar when websetup is running. Problem was this: websetup loads all plugins, but does not checkconfig them. So, htmltidy's recently added configurable command setting was unset; this resulted in its sanitize hook failing; the sanitize hook is called when a sidebar was enabled, and this caused the sidebar to not display. I put in a fix, but the underlying problem is that websetup loads all plugins but leaves them in an unconfigured and possibly broken state while trying to display its forms. Probably the long-term fix is to have it cache the original hook states from before loading the plugins, and restore it after getting their configuration. Or, even to get the configuration using a subprocess, as plugins may do things outside the hook system. --- IkiWiki/Plugin/htmltidy.pm | 2 ++ debian/changelog | 1 + 2 files changed, 3 insertions(+) diff --git a/IkiWiki/Plugin/htmltidy.pm b/IkiWiki/Plugin/htmltidy.pm index 1108aeb89..da77e60f1 100644 --- a/IkiWiki/Plugin/htmltidy.pm +++ b/IkiWiki/Plugin/htmltidy.pm @@ -41,6 +41,8 @@ sub checkconfig () { sub sanitize (@) { my %params=@_; + return $params{content} unless defined $config{htmltidy}; + my $pid; my $sigpipe=0; $SIG{PIPE}=sub { $sigpipe=1 }; diff --git a/debian/changelog b/debian/changelog index 246a89080..87a280ed0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ ikiwiki (3.20110125) UNRELEASED; urgency=low * editpage: Avoid inheriting internal page types. + * htmltidy: Avoid breaking the sidebar when websetup is running. -- Joey Hess Tue, 01 Feb 2011 21:00:57 -0400 -- 2.39.5