diff options
Diffstat (limited to 'cpan/List-Util')
-rw-r--r-- | cpan/List-Util/Changes | 7 | ||||
-rw-r--r-- | cpan/List-Util/ListUtil.xs | 5 | ||||
-rw-r--r-- | cpan/List-Util/lib/List/Util.pm | 2 | ||||
-rw-r--r-- | cpan/List-Util/lib/List/Util/XS.pm | 2 | ||||
-rw-r--r-- | cpan/List-Util/lib/Scalar/Util.pm | 36 | ||||
-rw-r--r-- | cpan/List-Util/t/readonly.t | 4 |
6 files changed, 34 insertions, 22 deletions
diff --git a/cpan/List-Util/Changes b/cpan/List-Util/Changes index d7088a188d..2c26c7083e 100644 --- a/cpan/List-Util/Changes +++ b/cpan/List-Util/Changes @@ -1,3 +1,10 @@ +1.32 -- Sun Aug 31 23:48 UTC 2013 + + * Skip pairmap()'s MULTICALL implementation 5.8.9 / 5.10.0 as it doesn't + work (RT87857) + * Comment on the fact that package "0" is defined but false (RT88201) + * TODO test in t/readonly.t now passes since 5.19.3 (RT88223) + 1.31 -- Wed Aug 14 20:38 UTC 2013 * Bugfix pairmap to return list length in scalar context diff --git a/cpan/List-Util/ListUtil.xs b/cpan/List-Util/ListUtil.xs index 7448a8f3df..c89bd577ed 100644 --- a/cpan/List-Util/ListUtil.xs +++ b/cpan/List-Util/ListUtil.xs @@ -529,7 +529,10 @@ PPCODE: bgv = gv_fetchpv("b", GV_ADD, SVt_PV); SAVESPTR(GvSV(agv)); SAVESPTR(GvSV(bgv)); -#ifdef dMULTICALL +/* 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(!CvISXSUB(cv)) { // Since MULTICALL is about to move it SV **stack = PL_stack_base + ax; diff --git a/cpan/List-Util/lib/List/Util.pm b/cpan/List-Util/lib/List/Util.pm index f01bff22fa..042ef140fe 100644 --- a/cpan/List-Util/lib/List/Util.pm +++ b/cpan/List-Util/lib/List/Util.pm @@ -13,7 +13,7 @@ require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw(first min max minstr maxstr reduce sum sum0 shuffle pairmap pairgrep pairfirst pairs pairkeys pairvalues); -our $VERSION = "1.31"; +our $VERSION = "1.32"; our $XS_VERSION = $VERSION; $VERSION = eval $VERSION; diff --git a/cpan/List-Util/lib/List/Util/XS.pm b/cpan/List-Util/lib/List/Util/XS.pm index bb38ab2db1..d9916bdf59 100644 --- a/cpan/List-Util/lib/List/Util/XS.pm +++ b/cpan/List-Util/lib/List/Util/XS.pm @@ -2,7 +2,7 @@ package List::Util::XS; use strict; use List::Util; -our $VERSION = "1.31"; # FIXUP +our $VERSION = "1.32"; # FIXUP $VERSION = eval $VERSION; # FIXUP 1; diff --git a/cpan/List-Util/lib/Scalar/Util.pm b/cpan/List-Util/lib/Scalar/Util.pm index d10bbaa0df..7101c984ea 100644 --- a/cpan/List-Util/lib/Scalar/Util.pm +++ b/cpan/List-Util/lib/Scalar/Util.pm @@ -26,7 +26,7 @@ our @EXPORT_OK = qw( tainted weaken ); -our $VERSION = "1.31"; +our $VERSION = "1.32"; $VERSION = eval $VERSION; our @EXPORT_FAIL; @@ -80,9 +80,7 @@ so small such that being individual extensions would be wasteful. By default C<Scalar::Util> does not export any subroutines. The subroutines defined are -=over 4 - -=item blessed EXPR +=head2 blessed EXPR If EXPR evaluates to a blessed reference the name of the package that it is blessed into is returned. Otherwise C<undef> is returned. @@ -96,7 +94,11 @@ that it is blessed into is returned. Otherwise C<undef> is returned. $obj = bless [], "Foo"; $class = blessed $obj; # "Foo" -=item dualvar NUM, STRING +Take care when using this function simply as a truth test (such as in +C<if(blessed $ref)...>) because the package name C<"0"> is defined yet +false. + +=head2 dualvar NUM, STRING Returns a scalar that has the value NUM in a numeric context and the value STRING in a string context. @@ -105,7 +107,7 @@ value STRING in a string context. $num = $foo + 2; # 12 $str = $foo . " world"; # Hello world -=item isdual EXPR +=head2 isdual EXPR If EXPR is a scalar that is a dualvar, the result is true. @@ -132,7 +134,7 @@ You can capture its numeric and string content using: $err = dualvar $!, $!; $dual = isdual($err); # true -=item isvstring EXPR +=head2 isvstring EXPR If EXPR is a scalar which was coded as a vstring the result is true. @@ -140,12 +142,12 @@ If EXPR is a scalar which was coded as a vstring the result is true. $fmt = isvstring($vs) ? "%vd" : "%s"; #true printf($fmt,$vs); -=item looks_like_number EXPR +=head2 looks_like_number EXPR Returns true if perl thinks EXPR is a number. See L<perlapi/looks_like_number>. -=item openhandle FH +=head2 openhandle FH Returns FH if FH may be used as a filehandle and is open, or FH is a tied handle. Otherwise C<undef> is returned. @@ -155,7 +157,7 @@ handle. Otherwise C<undef> is returned. $fh = openhandle(*NOTOPEN); # undef $fh = openhandle("scalar"); # undef -=item readonly SCALAR +=head2 readonly SCALAR Returns true if SCALAR is readonly. @@ -164,7 +166,7 @@ Returns true if SCALAR is readonly. $readonly = foo($bar); # false $readonly = foo(0); # true -=item refaddr EXPR +=head2 refaddr EXPR If EXPR evaluates to a reference the internal memory address of the referenced value is returned. Otherwise C<undef> is returned. @@ -176,7 +178,7 @@ the referenced value is returned. Otherwise C<undef> is returned. $obj = bless {}, "Foo"; $addr = refaddr $obj; # eg 88123488 -=item reftype EXPR +=head2 reftype EXPR If EXPR evaluates to a reference the type of the variable referenced is returned. Otherwise C<undef> is returned. @@ -188,21 +190,21 @@ is returned. Otherwise C<undef> is returned. $obj = bless {}, "Foo"; $type = reftype $obj; # HASH -=item set_prototype CODEREF, PROTOTYPE +=head2 set_prototype CODEREF, PROTOTYPE Sets the prototype of the given function, or deletes it if PROTOTYPE is undef. Returns the CODEREF. set_prototype \&foo, '$$'; -=item tainted EXPR +=head2 tainted EXPR Return true if the result of EXPR is tainted $taint = tainted("constant"); # false $taint = tainted($ENV{PWD}); # true if running under -T -=item weaken REF +=head2 weaken REF REF will be turned into a weak reference. This means that it will not hold a reference count on the object it references. Also when the reference @@ -237,7 +239,7 @@ references to objects will be strong, causing the remaining objects to never be destroyed because there is now always a strong reference to them in the @object array. -=item isweak EXPR +=head2 isweak EXPR If EXPR is a scalar which is a weak reference the result is true. @@ -251,8 +253,6 @@ B<NOTE>: Copying a weak reference creates a normal, strong, reference. $copy = $ref; $weak = isweak($copy); # false -=back - =head1 DIAGNOSTICS Module use may give one of the following errors during import. diff --git a/cpan/List-Util/t/readonly.t b/cpan/List-Util/t/readonly.t index 42ed3d811c..91385fd18f 100644 --- a/cpan/List-Util/t/readonly.t +++ b/cpan/List-Util/t/readonly.t @@ -45,7 +45,9 @@ sub try $var = 123; { - local $TODO = $Config::Config{useithreads} ? "doesn't work with threads" : undef; + # This used not to work with ithreads, but seems to be working since 5.19.3 + local $TODO = ( $Config::Config{useithreads} && $] < 5.019003 ) ? + "doesn't work with threads" : undef; ok( try ("abc"), 'reference a constant in a sub'); } ok( !try ($var), 'reference a non-constant in a sub'); |