diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-05-19 13:07:47 -0400 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-05-19 13:07:47 -0400 |
commit | ef003f48f4a3fe8fb67fda62c70a299b07d75976 (patch) | |
tree | cb5972026e6beed91b5eca2fa4962790244062bd /IkiWiki/Plugin/websetup.pm | |
parent | 53b1c6f559c1d09fbdbc28c8e4d5090dd455cd26 (diff) | |
parent | 4c5987d150b26f638494638f7861fb7646542a37 (diff) |
Merge branch 'master' into po
Conflicts:
debian/changelog
Diffstat (limited to 'IkiWiki/Plugin/websetup.pm')
-rw-r--r-- | IkiWiki/Plugin/websetup.pm | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/websetup.pm b/IkiWiki/Plugin/websetup.pm index 95d044c08..9edd22d26 100644 --- a/IkiWiki/Plugin/websetup.pm +++ b/IkiWiki/Plugin/websetup.pm @@ -403,6 +403,7 @@ sub showform ($$) { $form->reset(0); # doesn't really make sense here } else { + my $oldsetup=readfile($config{setupfile}); IkiWiki::Setup::dump($config{setupfile}); IkiWiki::saveindex(); @@ -426,16 +427,21 @@ sub showform ($$) { "-refresh", "-wrappers", "-v"); } + close STDERR; + open(STDERR, ">&STDOUT"); my $ret=system(@command); - print "\n<pre>"; + print "\n<\/pre>"; if ($ret != 0) { print '<p class="error">'. - sprintf(gettext("<p class=\"error\">Error: %s exited nonzero (%s)"), + sprintf(gettext("Error: %s exited nonzero (%s). Discarding setup changes."), join(" ", @command), $ret). '</p>'; + open(OUT, ">", $config{setupfile}) || error("$config{setupfile}: $!"); + print OUT $oldsetup; + close OUT; } - print $tail; + print $tail; exit 0; } } |