diff options
author | David Mitchell <davem@iabyn.com> | 2017-06-22 12:53:29 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2017-06-22 13:00:02 +0100 |
commit | 5e99e069f583949fb8ac93b20100ac8054a66d3a (patch) | |
tree | 5d88226b965156d95cf5f058087ba42f9ab4ca09 /cpan | |
parent | a8291be4515002c660754a8f56e0eb156aaedfc8 (diff) | |
download | perl-5e99e069f583949fb8ac93b20100ac8054a66d3a.tar.gz |
Upgrade Scalar-List-Utils from 1.46 to 1.47
Note that the last few commits have reverted any local customisations to
1.46. These were of two kinds. First, fixes for a tainting issue, the
last of which was just a cherry-pick from upstream, which should have made
it into 1.47 anyway.
The second were fixes to tests for netbsd-vax and Inf/Nan. I don't think
blead urgently needs these - we should wait for them to re-appear via the
normal upstream merging process. See
https://rt.cpan.org/Public/Bug/Display.html?id=118470
Diffstat (limited to 'cpan')
-rw-r--r-- | cpan/Scalar-List-Utils/ListUtil.xs | 39 | ||||
-rw-r--r-- | cpan/Scalar-List-Utils/Makefile.PL | 2 | ||||
-rw-r--r-- | cpan/Scalar-List-Utils/lib/List/Util.pm | 2 | ||||
-rw-r--r-- | cpan/Scalar-List-Utils/lib/List/Util/XS.pm | 2 | ||||
-rw-r--r-- | cpan/Scalar-List-Utils/lib/Scalar/Util.pm | 2 | ||||
-rw-r--r-- | cpan/Scalar-List-Utils/lib/Sub/Util.pm | 2 | ||||
-rw-r--r-- | cpan/Scalar-List-Utils/t/tainted.t | 8 |
7 files changed, 37 insertions, 20 deletions
diff --git a/cpan/Scalar-List-Utils/ListUtil.xs b/cpan/Scalar-List-Utils/ListUtil.xs index 79e74d9302..9db38045f9 100644 --- a/cpan/Scalar-List-Utils/ListUtil.xs +++ b/cpan/Scalar-List-Utils/ListUtil.xs @@ -7,14 +7,33 @@ #include <perl.h> #include <XSUB.h> -#define NEED_sv_2pv_flags 1 -#include "ppport.h" +#ifdef USE_PPPORT_H +# define NEED_sv_2pv_flags 1 +# define NEED_newSVpvn_flags 1 +# include "ppport.h" +#endif + +#ifndef PERL_VERSION_DECIMAL +# define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s) +#endif +#ifndef PERL_DECIMAL_VERSION +# define PERL_DECIMAL_VERSION \ + PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION) +#endif +#ifndef PERL_VERSION_GE +# define PERL_VERSION_GE(r,v,s) \ + (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s)) +#endif +#ifndef PERL_VERSION_LE +# define PERL_VERSION_LE(r,v,s) \ + (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s)) +#endif -#if PERL_BCDVERSION >= 0x5006000 +#if PERL_VERSION_GE(5,6,0) # include "multicall.h" #endif -#if PERL_BCDVERSION < 0x5023008 +#if !PERL_VERSION_GE(5,23,8) # define UNUSED_VAR_newsp PERL_UNUSED_VAR(newsp) #else # define UNUSED_VAR_newsp NOOP @@ -28,7 +47,7 @@ was not exported. Therefore platforms like win32, VMS etc have problems so we redefine it here -- GMB */ -#if PERL_BCDVERSION < 0x5007000 +#if !PERL_VERSION_GE(5,7,0) /* Not in 5.6.1. */ # ifdef cxinc # undef cxinc @@ -879,7 +898,7 @@ PPCODE: /* This MULTICALL-based code appears to fail on perl 5.10.0 and 5.8.9 * Skip it on those versions (RT#87857) */ -#if defined(dMULTICALL) && (PERL_BCDVERSION > 0x5010000 || PERL_BCDVERSION < 0x5008009) +#if defined(dMULTICALL) && (PERL_VERSION_GE(5,10,1) || PERL_VERSION_LE(5,8,8)) assert(cv); if(!CvISXSUB(cv)) { /* Since MULTICALL is about to move it */ @@ -1056,11 +1075,11 @@ CODE: arg = sv_mortalcopy(arg); if(SvUOK(arg)) - sv_setpvf(keysv, "%"UVuf, SvUV(arg)); + sv_setpvf(keysv, "%" UVuf, SvUV(arg)); else if(SvIOK(arg)) - sv_setpvf(keysv, "%"IVdf, SvIV(arg)); + sv_setpvf(keysv, "%" IVdf, SvIV(arg)); else - sv_setpvf(keysv, "%"NVgf, SvNV(arg)); + 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); if (HeVAL(he)) @@ -1329,7 +1348,7 @@ CODE: if(SvAMAGIC(sv) && (tempsv = AMG_CALLun(sv, numer))) { sv = tempsv; } -#if PERL_BCDVERSION < 0x5008005 +#if !PERL_VERSION_GE(5,8,5) if(SvPOK(sv) || SvPOKp(sv)) { RETVAL = looks_like_number(sv) ? &PL_sv_yes : &PL_sv_no; } diff --git a/cpan/Scalar-List-Utils/Makefile.PL b/cpan/Scalar-List-Utils/Makefile.PL index 247b3b7d9d..9859730e75 100644 --- a/cpan/Scalar-List-Utils/Makefile.PL +++ b/cpan/Scalar-List-Utils/Makefile.PL @@ -11,7 +11,7 @@ WriteMakefile( NAME => q[List::Util], ABSTRACT => q[Common Scalar and List utility subroutines], AUTHOR => q[Graham Barr <gbarr@cpan.org>], - DEFINE => q[-DPERL_EXT], + DEFINE => ($ENV{PERL_CORE} ? q[-DPERL_EXT] : q[-DPERL_EXT -DUSE_PPPORT_H]), DISTNAME => q[Scalar-List-Utils], VERSION_FROM => 'lib/List/Util.pm', diff --git a/cpan/Scalar-List-Utils/lib/List/Util.pm b/cpan/Scalar-List-Utils/lib/List/Util.pm index 1f7d4c025f..47324ca065 100644 --- a/cpan/Scalar-List-Utils/lib/List/Util.pm +++ b/cpan/Scalar-List-Utils/lib/List/Util.pm @@ -15,7 +15,7 @@ our @EXPORT_OK = qw( 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.46"; +our $VERSION = "1.47"; our $XS_VERSION = $VERSION; $VERSION = eval $VERSION; diff --git a/cpan/Scalar-List-Utils/lib/List/Util/XS.pm b/cpan/Scalar-List-Utils/lib/List/Util/XS.pm index 0c397eafdc..a9e191fc00 100644 --- a/cpan/Scalar-List-Utils/lib/List/Util/XS.pm +++ b/cpan/Scalar-List-Utils/lib/List/Util/XS.pm @@ -3,7 +3,7 @@ use strict; use warnings; use List::Util; -our $VERSION = "1.46"; # FIXUP +our $VERSION = "1.47"; # FIXUP $VERSION = eval $VERSION; # FIXUP 1; diff --git a/cpan/Scalar-List-Utils/lib/Scalar/Util.pm b/cpan/Scalar-List-Utils/lib/Scalar/Util.pm index 1aec9f897b..bd2b9ff802 100644 --- a/cpan/Scalar-List-Utils/lib/Scalar/Util.pm +++ b/cpan/Scalar-List-Utils/lib/Scalar/Util.pm @@ -17,7 +17,7 @@ our @EXPORT_OK = qw( dualvar isdual isvstring looks_like_number openhandle readonly set_prototype tainted ); -our $VERSION = "1.46"; +our $VERSION = "1.47"; $VERSION = eval $VERSION; require List::Util; # List::Util loads the XS diff --git a/cpan/Scalar-List-Utils/lib/Sub/Util.pm b/cpan/Scalar-List-Utils/lib/Sub/Util.pm index 1f90c50f45..48f775fadb 100644 --- a/cpan/Scalar-List-Utils/lib/Sub/Util.pm +++ b/cpan/Scalar-List-Utils/lib/Sub/Util.pm @@ -15,7 +15,7 @@ our @EXPORT_OK = qw( subname set_subname ); -our $VERSION = "1.46"; +our $VERSION = "1.47"; $VERSION = eval $VERSION; require List::Util; # as it has the XS diff --git a/cpan/Scalar-List-Utils/t/tainted.t b/cpan/Scalar-List-Utils/t/tainted.t index e483dfd06c..fb83c86c32 100644 --- a/cpan/Scalar-List-Utils/t/tainted.t +++ b/cpan/Scalar-List-Utils/t/tainted.t @@ -13,12 +13,10 @@ my $var = 2; ok( !tainted($var), 'known variable'); -my $key = (grep { !/^PERL/ } keys %ENV)[0]; +ok( tainted($^X), 'interpreter variable'); -ok( tainted($ENV{$key}), 'environment variable'); - -$var = $ENV{$key}; -ok( tainted($var), 'copy of environment variable'); +$var = $^X; +ok( tainted($var), 'copy of interpreter variable'); { package Tainted; |