mirror of
git://git.sv.gnu.org/autoconf
synced 2024-11-27 01:49:56 +08:00
autom4te: Don’t crash if Data::Dumper::Sortkeys is unavailable.
Commitc2ab755698
added an unconditional use of Data::Dumper’s Sortkeys method, which was added in version 2.12_01 of that module. In terms of Perl versions, it is available in 5.8.x and later, and in 5.6.2, but not in 5.6.1 or earlier. At the time, our minimum Perl version was 5.10, but we lowered it to 5.6.0 again in05e295b60c
. It seems that commit was not actually tested with 5.6.1 or earlier. As we are only using Sortkeys to facilitate manual comparison of autom4te.cache/requests files, we can just ignore the method lookup failure with 5.6.[01] and everything will work fine without it. Tested on x86_64-unknown-netbsd9.3 with perl 5.6.1. * lib/Autom4te/C4che.pm (marshall): Ignore method lookup failure for Data::Dumper::Sortkeys with very old perl. * lib/Autom4te/Request.pm (marshall): Likewise.
This commit is contained in:
parent
39d96e6fff
commit
185d1db28b
@ -155,13 +155,16 @@ Serialize all the current requests.
|
||||
sub marshall ($)
|
||||
{
|
||||
my ($caller) = @_;
|
||||
my $res = '';
|
||||
|
||||
my $marshall = Data::Dumper->new ([\@request], [qw (*request)]);
|
||||
$marshall->Indent(2)->Terse(0)->Sortkeys(1);
|
||||
$res = $marshall->Dump . "\n";
|
||||
$marshall->Indent(2)->Terse(0);
|
||||
|
||||
return $res;
|
||||
# The Sortkeys method was added in Data::Dumper 2.12_01, so it is
|
||||
# available in 5.8.x and 5.6.2 but not in 5.6.1 or earlier.
|
||||
# Ignore failure of method lookup.
|
||||
eval { $marshall->Sortkeys(1); };
|
||||
|
||||
return $marshall->Dump . "\n";
|
||||
}
|
||||
|
||||
|
||||
|
@ -59,14 +59,17 @@ struct
|
||||
sub marshall($)
|
||||
{
|
||||
my ($caller) = @_;
|
||||
my $res = '';
|
||||
|
||||
# CALLER is an object: instance method.
|
||||
my $marshall = Data::Dumper->new ([$caller]);
|
||||
$marshall->Indent(2)->Terse(0)->Sortkeys(1);
|
||||
$res = $marshall->Dump . "\n";
|
||||
$marshall->Indent(2)->Terse(0);
|
||||
|
||||
return $res;
|
||||
# The Sortkeys method was added in Data::Dumper 2.12_01, so it is
|
||||
# available in 5.8.x and 5.6.2 but not in 5.6.1 or earlier.
|
||||
# Ignore failure of method lookup.
|
||||
eval { $marshall->Sortkeys(1); };
|
||||
|
||||
return $marshall->Dump . "\n";
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user