Switch to YAML::XS to work around insanity in YAML::Mo. Closes: #657533
https://rt.cpan.org/Ticket/Display.html?id=74487 Gave up trying to support multiple YAML backends. The XS one requires ugly manual encoding to get unicode right, and doesn't allow dumping yaml fragments w/o the yaml header, but at least it doesn't randomly crash on import like YAML::Mo has started to.master
parent
e9c38d16fc
commit
6c3cdb04ac
|
@ -28,7 +28,7 @@ CGI::Session
|
||||||
Mail::Sendmail
|
Mail::Sendmail
|
||||||
CGI
|
CGI
|
||||||
Data::Dumper
|
Data::Dumper
|
||||||
YAML
|
YAML::XS
|
||||||
JSON
|
JSON
|
||||||
RPC::XML
|
RPC::XML
|
||||||
|
|
||||||
|
|
|
@ -11,10 +11,8 @@ sub loaddump ($$) {
|
||||||
my $class=shift;
|
my $class=shift;
|
||||||
my $content=shift;
|
my $content=shift;
|
||||||
|
|
||||||
eval q{use YAML::Any};
|
eval q{use YAML::XS};
|
||||||
eval q{use YAML} if $@;
|
|
||||||
die $@ if $@;
|
die $@ if $@;
|
||||||
$YAML::Syck::ImplicitUnicode=1;
|
|
||||||
IkiWiki::Setup::merge(Load(encode_utf8($content)));
|
IkiWiki::Setup::merge(Load(encode_utf8($content)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,12 +33,12 @@ sub dumpline ($$$$) {
|
||||||
my $type=shift;
|
my $type=shift;
|
||||||
my $prefix=shift;
|
my $prefix=shift;
|
||||||
|
|
||||||
eval q{use YAML::Old};
|
eval q{use YAML::XS};
|
||||||
eval q{use YAML} if $@;
|
|
||||||
die $@ if $@;
|
die $@ if $@;
|
||||||
$YAML::UseHeader=0;
|
$YAML::XS::QuoteNumericStrings=0;
|
||||||
|
|
||||||
my $dump=Dump({$key => $value});
|
my $dump=decode_utf8(Dump({$key => $value}));
|
||||||
|
$dump=~s/^---\n//; # yaml header, we don't want
|
||||||
chomp $dump;
|
chomp $dump;
|
||||||
if (length $prefix) {
|
if (length $prefix) {
|
||||||
$dump=join("\n", map { $prefix.$_ } split(/\n/, $dump));
|
$dump=join("\n", map { $prefix.$_ } split(/\n/, $dump));
|
||||||
|
|
|
@ -2,6 +2,7 @@ ikiwiki (3.20120116) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* mdwn: Added nodiscount setting, which can be used to avoid using the
|
* mdwn: Added nodiscount setting, which can be used to avoid using the
|
||||||
markdown discount engine, when maximum compatability is needed.
|
markdown discount engine, when maximum compatability is needed.
|
||||||
|
* Switch to YAML::XS to work around insanity in YAML::Mo. Closes: #657533
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Mon, 16 Jan 2012 13:41:14 -0400
|
-- Joey Hess <joeyh@debian.org> Mon, 16 Jan 2012 13:41:14 -0400
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ Build-Depends-Indep: dpkg-dev (>= 1.9.0), libxml-simple-perl,
|
||||||
libtimedate-perl, libhtml-template-perl,
|
libtimedate-perl, libhtml-template-perl,
|
||||||
libhtml-scrubber-perl, wdg-html-validator,
|
libhtml-scrubber-perl, wdg-html-validator,
|
||||||
libhtml-parser-perl, liburi-perl (>= 1.36), perlmagick, po4a (>= 0.34),
|
libhtml-parser-perl, liburi-perl (>= 1.36), perlmagick, po4a (>= 0.34),
|
||||||
libfile-chdir-perl, libyaml-perl, python-support
|
libfile-chdir-perl, libyaml-libyaml-perl, python-support
|
||||||
Maintainer: Joey Hess <joeyh@debian.org>
|
Maintainer: Joey Hess <joeyh@debian.org>
|
||||||
Uploaders: Josh Triplett <josh@freedesktop.org>
|
Uploaders: Josh Triplett <josh@freedesktop.org>
|
||||||
Standards-Version: 3.9.2
|
Standards-Version: 3.9.2
|
||||||
|
@ -19,7 +19,7 @@ Architecture: all
|
||||||
Depends: ${misc:Depends}, ${perl:Depends}, ${python:Depends},
|
Depends: ${misc:Depends}, ${perl:Depends}, ${python:Depends},
|
||||||
libtext-markdown-discount-perl,
|
libtext-markdown-discount-perl,
|
||||||
libhtml-scrubber-perl, libhtml-template-perl,
|
libhtml-scrubber-perl, libhtml-template-perl,
|
||||||
libhtml-parser-perl, liburi-perl (>= 1.36), libyaml-perl, libjson-perl
|
libhtml-parser-perl, liburi-perl (>= 1.36), libyaml-libyaml-perl, libjson-perl
|
||||||
Recommends: gcc | c-compiler,
|
Recommends: gcc | c-compiler,
|
||||||
libc6-dev | libc-dev,
|
libc6-dev | libc-dev,
|
||||||
git (>= 1:1.7) | git-core (>= 1:1.5.0) | subversion | tla | bzr (>= 0.91) | mercurial | monotone (>= 0.38) | darcs,
|
git (>= 1:1.7) | git-core (>= 1:1.5.0) | subversion | tla | bzr (>= 0.91) | mercurial | monotone (>= 0.38) | darcs,
|
||||||
|
|
|
@ -108,11 +108,9 @@ sub getconfig () {
|
||||||
if (! defined $var || ! defined $val) {
|
if (! defined $var || ! defined $val) {
|
||||||
die gettext("usage: --set-yaml var=value"), "\n";
|
die gettext("usage: --set-yaml var=value"), "\n";
|
||||||
}
|
}
|
||||||
eval q{use YAML::Any};
|
eval q{use YAML::XS; use Encode};
|
||||||
eval q{use YAML} if $@;
|
|
||||||
die $@ if $@;
|
die $@ if $@;
|
||||||
eval q{$YAML::Syck::ImplicitUnicode=1};
|
$config{$var}=Load(encode_utf8($val)."\n");
|
||||||
$config{$var}=Load($val."\n");
|
|
||||||
},
|
},
|
||||||
"version" => sub {
|
"version" => sub {
|
||||||
print "ikiwiki version $IkiWiki::version\n";
|
print "ikiwiki version $IkiWiki::version\n";
|
||||||
|
|
Loading…
Reference in New Issue