diff options
author | Joey Hess <joey@kitenet.net> | 2010-06-13 10:21:19 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-06-13 10:21:19 -0400 |
commit | 17592a951bf06ede47f500af25308e9c68944279 (patch) | |
tree | 5b44ea533ae227b4a05ceb352bb314abb80201ac | |
parent | 89a970bd7d8cccf5362985ae293aba5626429095 (diff) | |
download | ikiwiki-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.pm | 5 | ||||
-rw-r--r-- | IkiWiki/Setup.pm | 2 | ||||
-rw-r--r-- | debian/changelog | 1 |
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 |