summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Setup.pm11
-rw-r--r--IkiWiki/Setup/Standard.pm2
2 files changed, 4 insertions, 9 deletions
diff --git a/IkiWiki/Setup.pm b/IkiWiki/Setup.pm
index 38b715202..c2fd59b21 100644
--- a/IkiWiki/Setup.pm
+++ b/IkiWiki/Setup.pm
@@ -9,12 +9,6 @@ use strict;
use IkiWiki;
use open qw{:utf8 :std};
-# There can be multiple modules, with different configuration styles.
-# The setup modules each convert the data into the hashes used by ikiwiki
-# internally (if it's not already in that format), and store it in
-# IkiWiki::Setup::$raw_setup, to pass it back to this module.
-our $raw_setup;
-
sub load ($) { # {{{
my $setup=IkiWiki::possibly_foolish_untaint(shift);
delete $config{setup};
@@ -31,9 +25,10 @@ sub load ($) { # {{{
eval $code;
error("$setup: ".$@) if $@;
+} #}}}
- my %setup=%{$raw_setup};
- $raw_setup=undef;
+sub merge ($) {
+ my %setup=%{shift()};
# Merge setup into existing config and untaint.
if (exists $setup{add_plugins}) {
diff --git a/IkiWiki/Setup/Standard.pm b/IkiWiki/Setup/Standard.pm
index 99da7ed86..9d8ec3851 100644
--- a/IkiWiki/Setup/Standard.pm
+++ b/IkiWiki/Setup/Standard.pm
@@ -10,7 +10,7 @@ use strict;
use IkiWiki;
sub import { #{{{
- $IkiWiki::Setup::raw_setup=$_[1];
+ IkiWiki::Setup::merge($_[1]);
} #}}}
sub dumpline ($$$$) { #{{{