Skip to content

Commit 708e978

Browse files
bookericherman
authored andcommitted
fix Module-CoreList to support versions larger than 5
Important fixes include: * sorting numerical versions using <=> * properly computing the family for versions larger than 5
1 parent 9015317 commit 708e978

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

dist/Module-CoreList/lib/Module/CoreList.pm

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ sub _looks_like_invocant ($) { local $@; !!eval { $_[0]->isa(__PACKAGE__) } }
1212
sub _undelta {
1313
my ($delta) = @_;
1414
my (%expanded, $delta_from, $base, $changed, $removed);
15-
for my $v (sort keys %$delta) {
15+
for my $v (sort { $a <=> $b } keys %$delta) {
1616
($delta_from, $changed, $removed) = @{$delta->{$v}}{qw( delta_from changed removed )};
1717
$base = $delta_from ? $expanded{$delta_from} : {};
1818
my %full = ( %$base, %{$changed || {}} );
@@ -54,7 +54,7 @@ sub first_release_raw {
5454

5555
my @perls = $version
5656
? grep { defined $version{$_}{ $module } &&
57-
$version{$_}{ $module } ge $version } keys %version
57+
$version{$_}{ $module } >= $version } keys %version
5858
: grep { exists $version{$_}{ $module } } keys %version;
5959

6060
return @perls;
@@ -69,7 +69,7 @@ sub first_release_by_date {
6969
sub first_release {
7070
my @perls = &first_release_raw;
7171
return unless @perls;
72-
return (sort { $a cmp $b } @perls)[0];
72+
return (sort { $a <=> $b } @perls)[0];
7373
}
7474

7575
sub find_modules {
@@ -123,9 +123,9 @@ sub removed_from_by_date {
123123
sub removed_raw {
124124
shift if defined $_[1] and $_[1] =~ PKG_PATTERN and _looks_like_invocant $_[0];
125125
my $mod = shift;
126-
return unless my @perls = sort { $a cmp $b } first_release_raw($mod);
126+
return unless my @perls = sort { $a <=> $b } first_release_raw($mod);
127127
my $last = pop @perls;
128-
my @removed = grep { $_ > $last } sort { $a cmp $b } keys %version;
128+
my @removed = grep { $_ > $last } sort { $a <=> $b } keys %version;
129129
return @removed;
130130
}
131131

@@ -449,11 +449,11 @@ sub changes_between {
449449
5.043002 => '2025-08-20',
450450
5.043003 => '2025-09-23',
451451
5.043004 => '2025-10-22',
452-
5.043005 => '2025-11-20',
452+
43.005 => '2025-11-20',
453453
);
454454

455455
for my $version ( sort { $a <=> $b } keys %released ) {
456-
my $family = int ($version * 1000) / 1000;
456+
my $family = $version > 43 ? int($version) : int( $version * 1000 ) / 1000;
457457
push @{ $families{ $family }} , $version;
458458
}
459459

@@ -23899,7 +23899,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
2389923899
removed => {
2390023900
}
2390123901
},
23902-
5.043005 => {
23902+
43.005 => {
2390323903
delta_from => 5.043004,
2390423904
changed => {
2390523905
'B::Op_private' => '5.043005',

dist/Module-CoreList/lib/Module/CoreList/Utils.pm

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ sub first_release_raw {
3232

3333
my @perls = $version
3434
? grep { exists $utilities{$_}{ $util } &&
35-
$utilities{$_}{ $util } ge $version } keys %utilities
35+
$utilities{$_}{ $util } >= $version } keys %utilities
3636
: grep { exists $utilities{$_}{ $util } } keys %utilities;
3737

3838
return grep { exists $Module::CoreList::released{$_} } @perls;
@@ -47,7 +47,7 @@ sub first_release_by_date {
4747
sub first_release {
4848
my @perls = &first_release_raw;
4949
return unless @perls;
50-
return (sort { $a cmp $b } @perls)[0];
50+
return (sort { $a <=> $b } @perls)[0];
5151
}
5252

5353
sub removed_from {
@@ -63,10 +63,10 @@ sub removed_from_by_date {
6363
sub removed_raw {
6464
my $util = shift;
6565
$util = shift if eval { $util->isa(__PACKAGE__) };
66-
return unless my @perls = sort { $a cmp $b } first_release_raw($util);
66+
return unless my @perls = sort { $a <=> $b } first_release_raw($util);
6767
@perls = grep { exists $Module::CoreList::released{$_} } @perls;
6868
my $last = pop @perls;
69-
my @removed = grep { $_ > $last } sort { $a cmp $b } keys %utilities;
69+
my @removed = grep { $_ > $last } sort { $a <=> $b } keys %utilities;
7070
return @removed;
7171
}
7272

@@ -2203,7 +2203,7 @@ my %delta = (
22032203
removed => {
22042204
}
22052205
},
2206-
5.043005 => {
2206+
43.005 => {
22072207
delta_from => 5.043004,
22082208
changed => {
22092209
},

lib/B/Op_private.pm

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)