In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/33f1827ffcb11ab760b1c6b1f0fc240a00058c4b?hp=c6ae04d3b36cdce0d8f3943e411dabb13261a52f>

- Log -----------------------------------------------------------------
commit 33f1827ffcb11ab760b1c6b1f0fc240a00058c4b
Author: Aristotle Pagaltzis <[email protected]>
Date:   Tue Dec 27 05:47:37 2016 +0100

    Module::CoreList: clarify _undelta logic
-----------------------------------------------------------------------

Summary of changes:
 dist/Module-CoreList/lib/Module/CoreList.pm | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm 
b/dist/Module-CoreList/lib/Module/CoreList.pm
index 12f4038d91..537dbf0e4b 100644
--- a/dist/Module-CoreList/lib/Module/CoreList.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList.pm
@@ -7,16 +7,13 @@ $VERSION = '5.20170120';
 
 sub _undelta {
     my ($delta) = @_;
-    my %expanded;
-    for my $version (sort { $a cmp $b } keys %$delta) {
-        my $data = $delta->{$version};
-        my $from = $data->{delta_from};
-        my %full = (
-            ( $from ? %{$expanded{$from}} : () ),
-            %{$data->{changed} || {}},
-        );
-        delete @full{ keys %{$data->{removed}} };
-        $expanded{$version} = \%full;
+    my (%expanded, $delta_from, $base, $changed, $removed);
+    for my $v (sort keys %$delta) {
+        ($delta_from, $changed, $removed) = @{$delta->{$v}}{qw( delta_from 
changed removed )};
+        $base = $delta_from ? $expanded{$delta_from} : {};
+        my %full = ( %$base, %{$changed || {}} );
+        delete @full{ keys %$removed };
+        $expanded{$v} = \%full;
     }
     return %expanded;
 }

--
Perl5 Master Repository

Reply via email to