aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-06-13 10:21:19 -0400
committerJoey Hess <joey@kitenet.net>2010-06-13 10:21:19 -0400
commit17592a951bf06ede47f500af25308e9c68944279 (patch)
tree5b44ea533ae227b4a05ceb352bb314abb80201ac
parent89a970bd7d8cccf5362985ae293aba5626429095 (diff)
downloadikiwiki-17592a951bf06ede47f500af25308e9c68944279.tar
ikiwiki-17592a951bf06ede47f500af25308e9c68944279.tar.gz
websetup: Allow enabling plugins listed in disable_plugins.
The bug here was that disabling a plugin included thru goodstuff, like htmlscrubber, caused it to be added to disable_plugins, and those plugins were never loaded, so could not be re-enabled. Fix by allowing them to be force loaded when appropriate. (Also that allows disabled plugins to still record their setup options when dumping a setup file.)
-rw-r--r--IkiWiki.pm5
-rw-r--r--IkiWiki/Setup.pm2
-rw-r--r--debian/changelog1
3 files changed, 5 insertions, 3 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index d2ed99923..203da3ba2 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -592,10 +592,11 @@ sub loadplugins () {
return 1;
}
-sub loadplugin ($) {
+sub loadplugin ($;$) {
my $plugin=shift;
+ my $force=shift;
- return if grep { $_ eq $plugin} @{$config{disable_plugins}};
+ return if ! $force && grep { $_ eq $plugin} @{$config{disable_plugins}};
foreach my $dir (defined $config{libdir} ? possibly_foolish_untaint($config{libdir}) : undef,
"$installdir/lib/ikiwiki") {
diff --git a/IkiWiki/Setup.pm b/IkiWiki/Setup.pm
index ee5be95d2..2b0259e2a 100644
--- a/IkiWiki/Setup.pm
+++ b/IkiWiki/Setup.pm
@@ -123,7 +123,7 @@ sub getsetup () {
# Load all plugins, so that all setup options are available.
my @plugins=IkiWiki::listplugins();
foreach my $plugin (@plugins) {
- eval { IkiWiki::loadplugin($plugin) };
+ eval { IkiWiki::loadplugin($plugin, 1) };
if (exists $IkiWiki::hooks{checkconfig}{$plugin}{call}) {
my @s=eval { $IkiWiki::hooks{checkconfig}{$plugin}{call}->() };
}
diff --git a/debian/changelog b/debian/changelog
index fd7d1569e..52b727440 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,7 @@ ikiwiki (3.20100611) UNRELEASED; urgency=low
else (still looks in old location for backwards compatability).
* attachment: When inserting links, insert img directives for images,
if that plugin is enabled.
+ * websetup: Allow enabling plugins listed in disable_plugins.
-- Joey Hess <joeyh@debian.org> Fri, 11 Jun 2010 13:39:15 -0400