Update to Scalar-List-Utils-1.14
Graham Barr [Sat, 22 May 2004 07:41:21 +0000 (07:41 +0000)]
p4raw-id: //depot/perl@22838

MANIFEST
ext/List/Util/ChangeLog [deleted file]
ext/List/Util/Changes [new file with mode: 0644]
ext/List/Util/README
ext/List/Util/Util.xs
ext/List/Util/lib/List/Util.pm
ext/List/Util/lib/Scalar/Util.pm

index e05d945..f8732ac 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -507,7 +507,7 @@ ext/IPC/SysV/SysV.xs                IPC::SysV extension Perl module
 ext/IPC/SysV/t/ipcsysv.t               See if IPC::SysV works
 ext/IPC/SysV/t/msg.t           IPC::SysV extension Perl module
 ext/IPC/SysV/t/sem.t           IPC::SysV extension Perl module
-ext/List/Util/ChangeLog                Util extension
+ext/List/Util/Changes          Util extension
 ext/List/Util/lib/List/Util.pm List::Util
 ext/List/Util/lib/Scalar/Util.pm       Scalar::Util
 ext/List/Util/Makefile.PL      Util extension
diff --git a/ext/List/Util/ChangeLog b/ext/List/Util/ChangeLog
deleted file mode 100644 (file)
index 61ef188..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-Change 827 on 2003/09/25 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.13
-
-Change 826 on 2003/09/25 by <gbarr@pobox.com> (Graham Barr)
-
-       Fix NV casting issue with some compilers
-
-Change 825 on 2003/08/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.12
-
-Change 824 on 2003/08/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Don't directly use the SV returned as $a in the next iteration,
-       take a copy instead. Fixes problem if the code block result was from
-       an eval or sub call
-
-Change 823 on 2003/08/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Install into the 'perl' installdirs for >= 5.008
-
-Change 822 on 2003/08/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Fix test for EBCDIC portability
-
-Change 771 on 2003/03/03 by <gbarr@pobox.com> (Graham Barr)
-
-       Get path for make from $Config
-
-Change 770 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.11
-
-Change 769 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Add t/proto.t to MANIFEST
-
-Change 768 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Add set_prototype from Rafael Garcia-Suarez
-
-Change 767 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Fix t/isvstring.t so it does not cause perl5.004 to segv
-       because of the exit from within BEGIN
-
-Change 766 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Change how patchlevel.h is included and check we got what we wanted (from Jarkko)
-
-Change 765 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Add -DPERL_EXT to DEFINEs, requested by Jarkko for 5.8.1
-
-Change 764 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.10
-
-Change 763 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)
-
-       Fix linking error for older perls
-
-Change 762 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)
-
-       Make lln tests and perl implementation mimic changes to looks_like_number
-       in different perl versions
-
-Change 761 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)
-
-       Add looks_like_number
-
-Change 760 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)
-
-       Ensure PERL_DL_NONLAZY is false so we don't catch link errors during
-       bootstrap and then test the perl only version
-
-Change 759 on 2002/12/12 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.09
-
-Change 758 on 2002/12/12 by <gbarr@pobox.com> (Graham Barr)
-
-       Use UV to return refaddr
-
-Change 757 on 2002/11/03 by <gbarr@pobox.com> (Graham Barr)
-
-       Add XS_VERSION
-
-Change 756 on 2002/11/03 by <gbarr@pobox.com> (Graham Barr)
-
-       Use PAD_* macros in 5.9
-       Reuse our own target when calling pp_rand in shuffle() so we dont need to create a fake pad
-
-Change 751 on 2002/10/18 by <gbarr@pobox.com> (Graham Barr)
-
-       Fix context so that sub for reduce/first  is always in a scalar context
-       Fix sum/min/max so that they don't upgrade their arguments to NVs
-       if they are IV or UV
-
-Change 750 on 2002/10/14 by <gbarr@pobox.com> (Graham Barr)
-
-       Add isvstring()
-
-Change 745 on 2002/09/23 by <gbarr@pobox.com> (Graham Barr)
-
-       Scalar::Util
-       - Add refaddr()
-
-Change 722 on 2002/04/29 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.0701
-
-Change 721 on 2002/04/29 by <gbarr@pobox.com> (Graham Barr)
-
-       Add comment to README about failing tests on perl5.6.0
-
-Change 714 on 2002/03/18 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.07
-
-Change 713 on 2002/03/18 by <gbarr@pobox.com> (Graham Barr)
-
-       Add Scalar::Util::openhandle()
-
-Change 647 on 2001/09/18 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.06
-
-Change 645 on 2001/09/07 by <gbarr@pobox.com> (Graham Barr)
-
-       Some platforms require the main executable to export symbols
-       needed by modules. In 5.7.2 and prior releases of perl
-       Perl_cxinc was not exported so we need to duplicate its
-       functionality
-
-Change 644 on 2001/09/07 by <gbarr@pobox.com> (Graham Barr)
-
-       Generate a typemap for NV for all perl version up to and
-       including 5.006
-
-Change 643 on 2001/09/07 by <gbarr@pobox.com> (Graham Barr)
-
-       Document problems known with specific versions of perl
-
-Change 642 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.05
-
-Change 641 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)
-
-       Fix shuffle() to compile with threaded perl
-
-Change 640 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.04
-
-Change 639 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)
-
-       Fix context type (caused a core on Tru64)
-       Call pp_rand via *(PL_ppaddr[OP_RAND])
-
-Change 638 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)
-
-       Documentation updates
-
-Change 637 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.03
-
-Change 636 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)
-
-       More changes to help merging with core dist
-
-Change 635 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)
-
-       Added List::Util::shuffle() similar to that described in
-       the perl FAQ except it returns a shuffled list instead of
-       modifying an array passed by reference
-
-Change 632 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)
-
-       Handle tied variables passed for the number to dualvar()
-       Preserve number type (IV/UV/NV) in dualvar()
-
-Change 631 on 2001/08/31 by <gbarr@pobox.com> (Graham Barr)
-
-       Handle eval{} inside of the code blocks for first and reduce
-
-Change 629 on 2001/08/22 by <gbarr@pobox.com> (Graham Barr)
-
-       perl5.004 does not like exit from within a BEGIN, it core dumps
-
-Change 628 on 2001/08/22 by <gbarr@pobox.com> (Graham Barr)
-
-       Fix stack problem in first() and reduce()
-       Align with core dist
-
-Change 483 on 2000/04/10 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.02
-
-Change 482 on 2000/04/10 by <gbarr@pobox.com> (Graham Barr)
-
-       Check for SvMAGICAL on argument for reftype and blessed
-
-Change 366 on 2000/03/03 by <gbarr@pobox.com> (Graham Barr)
-
-       Release 1.01
-
-Change 365 on 2000/03/03 by <gbarr@pobox.com> (Graham Barr)
-
-       - Added auto-detection for a compiler and install the perl version
-         if not found
-       - Better perl implemenation of reftype, should be thread-safe now
-
-Change 364 on 2000/03/03 by <gbarr@pobox.com> (Graham Barr)
-
-       - Added some examples of simple subs that have been requested
-         but not added
-       - Updated copyright dates
-
-Change 344 on 1999/11/10 by <gbarr@pobox.com> (Graham Barr)
-
-       - Better testcase for reftype
-
-Change 343 on 1999/11/10 by <gbarr@pobox.com> (Graham Barr)
-
-       - Modules are now called List::Util & Scalar::Util
-       - Supports non-XS install
-       - perl version of reftype now returns "REF" when it should
-
-Change 311 on 1999/06/01 by <gbarr@pobox.com> (Graham Barr)
-
-       Updated README
-
-Change 275 on 1999/03/22 by <gbarr@pobox.com> (Graham Barr)
-
-       Removed forall as it is very broken
-
-Change 274 on 1999/03/22 by <gbarr@pobox.com> (Graham Barr)
-
-       Added List::Util::forall
-
-Change 273 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)
-
-       Added weaken and isweak to Ref::Util
-
-Change 272 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)
-
-       Add new .pm files to repository
-
-Change 271 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)
-
-       - Split into three packages Ref::Util, List::Util and Scalar::DualVar
-       - readonly and clock were removed in favor of other modules
-
-Change 270 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)
-
-       Rename package
-
-Change 269 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)
-
-       - Added reftype
-       - improved reduce by not doing a sub call
-       - reduce now uses $a and $b
-       - now compiles with 5.005_5x
-
-Change 178 on 1998/07/26 by <gbarr@pobox.com> (Graham Barr)
-
-       Modified XS code so it will compile with 5.004 and 5.005
-
-Change 115 on 1998/02/21 by <gbarr@pobox.com> (Graham Barr)
-
-       Fri Feb 20 1998 Graham Barr <gbarr@pobox.com>
-       
-       t/min.t, t/max.t
-       - Change sor to do a numerical sort
-       
-       Fri Dec 19 1997 Graham Barr <gbarr@pobox.com>
-       
-       - Added readonly()
-       
-       Wed Nov 19 1997 Graham Barr <gbarr@pobox.com>
-       
-       - Initial release
-
diff --git a/ext/List/Util/Changes b/ext/List/Util/Changes
new file mode 100644 (file)
index 0000000..6d787c4
--- /dev/null
@@ -0,0 +1,10 @@
+1.14 -- Sat May 22 08:01:19 BST 2004
+
+Bug Fixes
+  * Fixed memory leak in reduce()
+  * Added tests to check passing a reference to a constant to weaken() in perl >= 5.008003
+  * Fixed looks_like_number(undef) to return false for perl >= 5.009002
+  * Fixed bug in refaddr() when passed a tied variable
+
+ChangeLogs for releases prior to 1.14 may be found at
+http://svn.mutatus.co.uk/browse/Scalar-List-Utils/tags/Scalar-List-Utils-1.13/ChangeLog
index e384354..8d95b57 100644 (file)
@@ -33,6 +33,6 @@ There is a bug in perl5.6.0 with UV's that are >= 1<<31. This will
 show up as tests 8 and 9 of dualvar.t failing
 
 
-Copyright (c) 1997-2002 Graham Barr <gbarr@pobox.com>. All rights reserved.
+Copyright (c) 1997-2004 Graham Barr <gbarr@pobox.com>. All rights reserved.
 This library is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
index af6a586..1a996f5 100644 (file)
@@ -242,8 +242,6 @@ CODE:
     CATCH_SET(TRUE);
     PUSHBLOCK(cx, CXt_SUB, SP);
     PUSHSUB(cx);
-    if (!CvDEPTH(cv))
-        (void)SvREFCNT_inc(cv);
     for(index = 2 ; index < items ; index++) {
        GvSV(bgv) = ST(index);
        PL_op = reducecop;
index 04f5518..5c3da9f 100644 (file)
@@ -1,6 +1,6 @@
 # List::Util.pm
 #
-# Copyright (c) 1997-2003 Graham Barr <gbarr@pobox.com>. All rights reserved.
+# Copyright (c) 1997-2004 Graham Barr <gbarr@pobox.com>. All rights reserved.
 # This program is free software; you can redistribute it and/or
 # modify it under the same terms as Perl itself.
 
@@ -10,7 +10,7 @@ require Exporter;
 
 @ISA        = qw(Exporter);
 @EXPORT_OK  = qw(first min max minstr maxstr reduce sum shuffle);
-$VERSION    = "1.13_02";
+$VERSION    = "1.14";
 $XS_VERSION = $VERSION;
 $VERSION    = eval $VERSION;
 
@@ -250,7 +250,7 @@ to add due to them being very simple to implement in perl
 
 =head1 COPYRIGHT
 
-Copyright (c) 1997-2003 Graham Barr <gbarr@pobox.com>. All rights reserved.
+Copyright (c) 1997-2004 Graham Barr <gbarr@pobox.com>. All rights reserved.
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
 
index e74c024..e2bbb5c 100644 (file)
@@ -1,6 +1,6 @@
 # Scalar::Util.pm
 #
-# Copyright (c) 1997-2003 Graham Barr <gbarr@pobox.com>. All rights reserved.
+# Copyright (c) 1997-2004 Graham Barr <gbarr@pobox.com>. All rights reserved.
 # This program is free software; you can redistribute it and/or
 # modify it under the same terms as Perl itself.
 
@@ -11,7 +11,7 @@ require List::Util; # List::Util loads the XS
 
 @ISA       = qw(Exporter);
 @EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted readonly openhandle refaddr isvstring looks_like_number set_prototype);
-$VERSION   = "1.13_02";
+$VERSION    = "1.14";
 $VERSION   = eval $VERSION;
 
 sub export_fail {
@@ -283,7 +283,7 @@ show up as tests 8 and 9 of dualvar.t failing
 
 =head1 COPYRIGHT
 
-Copyright (c) 1997-2003 Graham Barr <gbarr@pobox.com>. All rights reserved.
+Copyright (c) 1997-2004 Graham Barr <gbarr@pobox.com>. All rights reserved.
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl itself.