Hello community,

here is the log from the commit of package perl-Scalar-List-Utils for 
openSUSE:Factory checked in at 2016-10-14 09:25:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Scalar-List-Utils (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Scalar-List-Utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Scalar-List-Utils"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Scalar-List-Utils/perl-Scalar-List-Utils.changes
    2016-04-12 19:33:55.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Scalar-List-Utils.new/perl-Scalar-List-Utils.changes
       2016-10-14 09:25:32.000000000 +0200
@@ -1,0 +2,15 @@
+Sat Oct  1 06:12:57 UTC 2016 - co...@suse.com
+
+- updated to 1.46
+   see /usr/share/doc/packages/perl-Scalar-List-Utils/Changes
+
+  1.46 -- 2016/09/28 23:17:07
+       [CHANGES]
+        * Remember to add unpairs and uniq to SYNOPSIS
+        * Document the behaviour of uniqnum() on NaN
+  
+       [BUGFIXES]
+        * C89 fixes
+        * Various internal bugfixes backported from perl core
+
+-------------------------------------------------------------------

Old:
----
  Scalar-List-Utils-1.45.tar.gz

New:
----
  Scalar-List-Utils-1.46.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Scalar-List-Utils.spec ++++++
--- /var/tmp/diff_new_pack.GreMGw/_old  2016-10-14 09:25:33.000000000 +0200
+++ /var/tmp/diff_new_pack.GreMGw/_new  2016-10-14 09:25:33.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Scalar-List-Utils
-Version:        1.45
+Version:        1.46
 Release:        0
 %define cpan_name Scalar-List-Utils
 Summary:        Common Scalar and List utility subroutines

++++++ Scalar-List-Utils-1.45.tar.gz -> Scalar-List-Utils-1.46.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/Changes 
new/Scalar-List-Utils-1.46/Changes
--- old/Scalar-List-Utils-1.45/Changes  2016-03-25 17:09:57.000000000 +0100
+++ new/Scalar-List-Utils-1.46/Changes  2016-09-29 14:58:48.000000000 +0200
@@ -1,3 +1,12 @@
+1.46 -- 2016/09/28 23:17:07
+       [CHANGES]
+        * Remember to add unpairs and uniq to SYNOPSIS
+        * Document the behaviour of uniqnum() on NaN
+
+       [BUGFIXES]
+        * C89 fixes
+        * Various internal bugfixes backported from perl core
+
 1.45 -- 2016/03/25 16:09:40
        [CHANGES]
         * Renamed existing uniq() to uniqstr()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/ListUtil.xs 
new/Scalar-List-Utils-1.46/ListUtil.xs
--- old/Scalar-List-Utils-1.45/ListUtil.xs      2016-03-23 19:20:15.000000000 
+0100
+++ new/Scalar-List-Utils-1.46/ListUtil.xs      2016-09-29 14:58:48.000000000 
+0200
@@ -114,6 +114,7 @@
         XSRETURN_UNDEF;
 
     retsv = ST(0);
+    SvGETMAGIC(retsv);
     magic = SvAMAGIC(retsv);
     if(!magic)
       retval = slu_sv_value(retsv);
@@ -121,6 +122,7 @@
     for(index = 1 ; index < items ; index++) {
         SV *stacksv = ST(index);
         SV *tmpsv;
+        SvGETMAGIC(stacksv);
         if((magic || SvAMAGIC(stacksv)) && (tmpsv = amagic_call(retsv, 
stacksv, gt_amg, 0))) {
              if(SvTRUE(tmpsv) ? !ix : ix) {
                   retsv = stacksv;
@@ -174,6 +176,7 @@
         }
 
     sv    = ST(0);
+    SvGETMAGIC(sv);
     switch((accum = accum_type(sv))) {
     case ACC_SV:
         retsv = TARG;
@@ -189,6 +192,7 @@
 
     for(index = 1 ; index < items ; index++) {
         sv = ST(index);
+        SvGETMAGIC(sv);
         if(accum < ACC_SV && SvAMAGIC(sv)){
             if(!retsv)
                 retsv = TARG;
@@ -389,6 +393,7 @@
     GvSV(agv) = ret;
     SvSetMagicSV(ret, args[1]);
 #ifdef dMULTICALL
+    assert(cv);
     if(!CvISXSUB(cv)) {
         dMULTICALL;
         I32 gimme = G_SCALAR;
@@ -444,6 +449,7 @@
 
     SAVESPTR(GvSV(PL_defgv));
 #ifdef dMULTICALL
+    assert(cv);
     if(!CvISXSUB(cv)) {
         dMULTICALL;
         I32 gimme = G_SCALAR;
@@ -515,6 +521,7 @@
 
     SAVESPTR(GvSV(PL_defgv));
 #ifdef dMULTICALL
+    assert(cv);
     if(!CvISXSUB(cv)) {
         dMULTICALL;
         I32 gimme = G_SCALAR;
@@ -697,6 +704,7 @@
     SAVESPTR(GvSV(agv));
     SAVESPTR(GvSV(bgv));
 #ifdef dMULTICALL
+    assert(cv);
     if(!CvISXSUB(cv)) {
         /* Since MULTICALL is about to move it */
         SV **stack = PL_stack_base + ax;
@@ -781,6 +789,7 @@
     SAVESPTR(GvSV(agv));
     SAVESPTR(GvSV(bgv));
 #ifdef dMULTICALL
+    assert(cv);
     if(!CvISXSUB(cv)) {
         /* Since MULTICALL is about to move it */
         SV **stack = PL_stack_base + ax;
@@ -871,6 +880,7 @@
  * Skip it on those versions (RT#87857)
  */
 #if defined(dMULTICALL) && (PERL_BCDVERSION > 0x5010000 || PERL_BCDVERSION < 
0x5008009)
+    assert(cv);
     if(!CvISXSUB(cv)) {
         /* Since MULTICALL is about to move it */
         SV **stack = PL_stack_base + ax;
@@ -1037,6 +1047,9 @@
 
         for(index = 0 ; index < items ; index++) {
             SV *arg = args[index];
+#ifdef HV_FETCH_EMPTY_HE
+            HE* he;
+#endif
 
             if(SvGAMAGIC(arg))
                 /* clone the value so we don't invoke magic again */
@@ -1049,7 +1062,7 @@
             else
                 sv_setpvf(keysv, "%"NVgf, SvNV(arg));
 #ifdef HV_FETCH_EMPTY_HE
-            HE* he = hv_common(seen, NULL, SvPVX(keysv), SvCUR(keysv), 0, 
HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
+            he = (HE*) hv_common(seen, NULL, SvPVX(keysv), SvCUR(keysv), 0, 
HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
             if (HeVAL(he))
                 continue;
 
@@ -1072,6 +1085,9 @@
 
         for(index = 0 ; index < items ; index++) {
             SV *arg = args[index];
+#ifdef HV_FETCH_EMPTY_HE
+            HE *he;
+#endif
 
             if(SvGAMAGIC(arg))
                 /* clone the value so we don't invoke magic again */
@@ -1090,7 +1106,7 @@
                 continue;
             }
 #ifdef HV_FETCH_EMPTY_HE
-            HE* he = hv_common(seen, arg, NULL, 0, 0, HV_FETCH_LVALUE | 
HV_FETCH_EMPTY_HE, NULL, 0);
+            he = (HE*) hv_common(seen, arg, NULL, 0, 0, HV_FETCH_LVALUE | 
HV_FETCH_EMPTY_HE, NULL, 0);
             if (HeVAL(he))
                 continue;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/META.json 
new/Scalar-List-Utils-1.46/META.json
--- old/Scalar-List-Utils-1.45/META.json        2016-03-25 17:14:35.000000000 
+0100
+++ new/Scalar-List-Utils-1.46/META.json        2016-09-29 15:00:35.000000000 
+0200
@@ -49,6 +49,6 @@
          "web" : "https://github.com/Scalar-List-Utils/Scalar-List-Utils";
       }
    },
-   "version" : "1.45",
+   "version" : "1.46",
    "x_serialization_backend" : "JSON::PP version 2.27300"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/META.yml 
new/Scalar-List-Utils-1.46/META.yml
--- old/Scalar-List-Utils-1.45/META.yml 2016-03-25 17:14:35.000000000 +0100
+++ new/Scalar-List-Utils-1.46/META.yml 2016-09-29 15:00:35.000000000 +0200
@@ -23,5 +23,5 @@
 resources:
   bugtracker: 
https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils
   repository: https://github.com/Scalar-List-Utils/Scalar-List-Utils.git
-version: '1.45'
+version: '1.46'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/lib/List/Util/XS.pm 
new/Scalar-List-Utils-1.46/lib/List/Util/XS.pm
--- old/Scalar-List-Utils-1.45/lib/List/Util/XS.pm      2016-03-25 
17:14:00.000000000 +0100
+++ new/Scalar-List-Utils-1.46/lib/List/Util/XS.pm      2016-09-29 
14:59:48.000000000 +0200
@@ -3,7 +3,7 @@
 use warnings;
 use List::Util;
 
-our $VERSION = "1.45";       # FIXUP
+our $VERSION = "1.46";       # FIXUP
 $VERSION = eval $VERSION;    # FIXUP
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/lib/List/Util.pm 
new/Scalar-List-Utils-1.46/lib/List/Util.pm
--- old/Scalar-List-Utils-1.45/lib/List/Util.pm 2016-03-25 17:14:00.000000000 
+0100
+++ new/Scalar-List-Utils-1.46/lib/List/Util.pm 2016-09-29 14:59:20.000000000 
+0200
@@ -15,7 +15,7 @@
   all any first min max minstr maxstr none notall product reduce sum sum0 
shuffle uniq uniqnum uniqstr
   pairs unpairs pairkeys pairvalues pairmap pairgrep pairfirst
 );
-our $VERSION    = "1.45";
+our $VERSION    = "1.46";
 our $XS_VERSION = $VERSION;
 $VERSION    = eval $VERSION;
 
@@ -50,9 +50,9 @@
 
       max maxstr min minstr product sum sum0
 
-      pairs pairkeys pairvalues pairfirst pairgrep pairmap
+      pairs unpairs pairkeys pairvalues pairfirst pairgrep pairmap
 
-      shuffle uniqnum uniqstr
+      shuffle uniq uniqnum uniqstr
     );
 
 =head1 DESCRIPTION
@@ -517,6 +517,10 @@
 the returned list is coerced into a numerical zero, so that the entire list of
 values returned by C<uniqnum> are well-behaved as numbers.
 
+Note also that multiple IEEE C<NaN> values are treated as duplicates of
+each other, regardless of any differences in their payloads, and despite
+the fact that C<< 0+'NaN' == 0+'NaN' >> yields false.
+
 =head2 uniqstr
 
     my @subset = uniqstr @values
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/lib/Scalar/Util.pm 
new/Scalar-List-Utils-1.46/lib/Scalar/Util.pm
--- old/Scalar-List-Utils-1.45/lib/Scalar/Util.pm       2016-03-25 
17:14:00.000000000 +0100
+++ new/Scalar-List-Utils-1.46/lib/Scalar/Util.pm       2016-09-29 
14:59:25.000000000 +0200
@@ -17,7 +17,7 @@
   dualvar isdual isvstring looks_like_number openhandle readonly set_prototype
   tainted
 );
-our $VERSION    = "1.45";
+our $VERSION    = "1.46";
 $VERSION   = eval $VERSION;
 
 require List::Util; # List::Util loads the XS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/lib/Sub/Util.pm 
new/Scalar-List-Utils-1.46/lib/Sub/Util.pm
--- old/Scalar-List-Utils-1.45/lib/Sub/Util.pm  2016-03-25 17:14:00.000000000 
+0100
+++ new/Scalar-List-Utils-1.46/lib/Sub/Util.pm  2016-09-29 14:59:29.000000000 
+0200
@@ -15,7 +15,7 @@
   subname set_subname
 );
 
-our $VERSION    = "1.45";
+our $VERSION    = "1.46";
 $VERSION   = eval $VERSION;
 
 require List::Util; # as it has the XS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/t/00version.t 
new/Scalar-List-Utils-1.46/t/00version.t
--- old/Scalar-List-Utils-1.45/t/00version.t    2016-03-25 17:14:00.000000000 
+0100
+++ new/Scalar-List-Utils-1.46/t/00version.t    2016-09-29 14:58:48.000000000 
+0200
@@ -6,10 +6,13 @@
 use Scalar::Util ();
 use List::Util ();
 use List::Util::XS ();
-use Test::More tests => 2;
+use Sub::Util ();
+use Test::More tests => 4;
 
-is( $Scalar::Util::VERSION, $List::Util::VERSION, "VERSION mismatch");
+is( $Scalar::Util::VERSION, $List::Util::VERSION, "VERSION mismatch between 
Scalar/List");
 my $has_xs = eval { Scalar::Util->import('dualvar'); 1 };
 my $xs_version = $has_xs ? $List::Util::VERSION : undef;
-is( $List::Util::XS::VERSION, $xs_version, "XS VERSION");
+is( $List::Util::XS::VERSION, $xs_version, "VERSION mismatch between LU::XS 
and LU");
+is( $Sub::Util::VERSION, $Scalar::Util::VERSION, "VERSION mistmatch between 
Sub/Scalar");
+is( $Sub::Util::VERSION, $List::Util::VERSION, "VERSION mistmatch between 
Sub/List");
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Scalar-List-Utils-1.45/t/min.t 
new/Scalar-List-Utils-1.46/t/min.t
--- old/Scalar-List-Utils-1.45/t/min.t  2016-03-25 17:14:00.000000000 +0100
+++ new/Scalar-List-Utils-1.46/t/min.t  2016-09-29 14:58:48.000000000 +0200
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 10;
+use Test::More tests => 22;
 use List::Util qw(min);
 
 my $v;
@@ -62,3 +62,21 @@
 $v = min(1, 2, $v1, 3);
 is($v, 1, 'bigint and normal int');
 
+{
+    # test that min/max and sum call GETMAGIC properly
+    # note, in my tests how this fails depends on exactly
+    # which List::Util subs are called and in what order.
+    my @list;
+    for my $size (10, 20, 10, 30) {
+        @list = ( 1 ) x $size;
+
+        my $sum= List::Util::sum( 0, $#list );
+        ok( $sum == $size-1, "sum(\$#list, 0) == $size-1");
+
+        my $min= List::Util::min( 15, $#list );
+        ok( $min <= 15, "min(15,$size)" );
+
+        my $max= List::Util::max( 0, $#list );
+        ok( $max == $size-1, "max(\$#list, 0) == $size-1");
+    }
+}


Reply via email to