Blob Blame History Raw
diff -up perl-5.8.8/ext/List/Util/multicall.h.old perl-5.8.8/ext/List/Util/multicall.h
--- perl-5.8.8/ext/List/Util/multicall.h.old	2005-11-09 10:42:39.000000000 +0100
+++ perl-5.8.8/ext/List/Util/multicall.h	2006-12-10 17:22:19.000000000 +0100
@@ -160,6 +160,7 @@ multicall_pad_push(pTHX_ AV *padlist, in
 	POPSTACK;							\
 	CATCH_SET(multicall_oldcatch);					\
 	LEAVE;								\
+        SPAGAIN;                                                        \
     } STMT_END
 
 #endif
diff -up perl-5.8.8/ext/List/Util/README.old perl-5.8.8/ext/List/Util/README
--- perl-5.8.8/ext/List/Util/README.old	2005-05-23 16:04:47.000000000 +0200
+++ perl-5.8.8/ext/List/Util/README	2006-12-10 17:03:45.000000000 +0100
@@ -12,27 +12,12 @@ After unpacking the distribution, to ins
         make test
         make install
 
-This distribution provides
-
-  min
-  max
-  minstr
-  maxstr
-  sum
-  reduce
-  reftype
-  blessed
-  weaken   (5.005_57 and later only)
-  isweak   (5.005_57 and later only)
-  dualvar
-  shuffle
-
 KNOWN BUGS
 
 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-2005 Graham Barr <gbarr@pobox.com>. All rights reserved.
+Copyright (c) 1997-2006 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.
diff -up perl-5.8.8/ext/List/Util/t/p_tainted.t.old perl-5.8.8/ext/List/Util/t/p_tainted.t
--- perl-5.8.8/ext/List/Util/t/p_tainted.t.old	2005-11-09 13:23:42.000000000 +0100
+++ perl-5.8.8/ext/List/Util/t/p_tainted.t	2006-12-10 17:03:45.000000000 +0100
@@ -1,7 +1,10 @@
 #!./perl -T
 
+use File::Spec;
+
 # force perl-only version to be tested
 $List::Util::TESTING_PERL_ONLY = $List::Util::TESTING_PERL_ONLY = 1;
 
 (my $f = __FILE__) =~ s/p_//;
-do "./$f";
+my $filename = File::Spec->catfile(".", $f);
+do $filename;
diff -up perl-5.8.8/ext/List/Util/t/readonly.t.old perl-5.8.8/ext/List/Util/t/readonly.t
--- perl-5.8.8/ext/List/Util/t/readonly.t.old	2005-05-13 18:47:17.000000000 +0200
+++ perl-5.8.8/ext/List/Util/t/readonly.t	2006-12-10 17:03:45.000000000 +0100
@@ -14,7 +14,7 @@ BEGIN {
 }
 
 use Scalar::Util qw(readonly);
-use Test::More tests => 9;
+use Test::More tests => 11;
 
 ok( readonly(1),	'number constant');
 
@@ -36,3 +36,16 @@ ok( !readonly($var),	'reference to const
 ok( readonly($$var),	'de-reference to constant');
 
 ok( !readonly(*STDOUT),	'glob');
+
+sub try
+{
+    my $v = \$_[0];
+    return readonly $$v;
+}
+
+$var = 123;
+{
+    local $TODO = $Config::Config{useithreads} ? "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');
diff -up perl-5.8.8/ext/List/Util/Changes.old perl-5.8.8/ext/List/Util/Changes
--- perl-5.8.8/ext/List/Util/Changes.old	2005-11-25 16:34:32.000000000 +0100
+++ perl-5.8.8/ext/List/Util/Changes	2006-12-10 17:03:45.000000000 +0100
@@ -1,3 +1,18 @@
+1.19 -- Sun Dec 10 09:58:03 CST 2006
+
+Bug Fixes
+  * Fix invalid conversion from `const char*' to `char*' warnings
+  * Avoid Makefile error when building on Win32
+  * Fix undefined symbol error for perl < 5.9.0
+  * Fix hardcoded "/" in a filepath that causes p_tainted.t to fail on VMS
+
+Documentation
+  * Document that reduce calls BLOCK in a scalar context
+  * Add SEE ALSO sections to docs
+
+Enhancements
+  * A new regression test for readonly, taking a reference to a constant passed to a sub
+
 1.18 -- Fri Nov 25 09:30:29 CST 2005
 
 Bug Fixes
diff -up perl-5.8.8/ext/List/Util/Util.xs.old perl-5.8.8/ext/List/Util/Util.xs
--- perl-5.8.8/ext/List/Util/Util.xs.old	2005-11-09 13:23:42.000000000 +0100
+++ perl-5.8.8/ext/List/Util/Util.xs	2006-12-10 17:03:45.000000000 +0100
@@ -312,7 +312,7 @@ CODE:
 {
     dVAR;
     int index;
-#if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <1)
+#if (PERL_VERSION < 9)
     struct op dmy_op;
     struct op *old_op = PL_op;
 
@@ -390,7 +390,7 @@ CODE:
     if(!sv_isobject(sv)) {
 	XSRETURN_UNDEF;
     }
-    RETVAL = sv_reftype(SvRV(sv),TRUE);
+    RETVAL = (char*)sv_reftype(SvRV(sv),TRUE);
 }
 OUTPUT:
     RETVAL
@@ -406,7 +406,7 @@ CODE:
     if(!SvROK(sv)) {
 	XSRETURN_UNDEF;
     }
-    RETVAL = sv_reftype(SvRV(sv),FALSE);
+    RETVAL = (char*)sv_reftype(SvRV(sv),FALSE);
 }
 OUTPUT:
     RETVAL
diff -up perl-5.8.8/ext/List/Util/lib/List/Util.pm.old perl-5.8.8/ext/List/Util/lib/List/Util.pm
--- perl-5.8.8/ext/List/Util/lib/List/Util.pm.old	2005-11-09 10:42:39.000000000 +0100
+++ perl-5.8.8/ext/List/Util/lib/List/Util.pm	2006-12-10 17:03:45.000000000 +0100
@@ -1,6 +1,6 @@
 # List::Util.pm
 #
-# Copyright (c) 1997-2005 Graham Barr <gbarr@pobox.com>. All rights reserved.
+# Copyright (c) 1997-2006 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.
 
@@ -12,7 +12,7 @@ require Exporter;
 
 @ISA        = qw(Exporter);
 @EXPORT_OK  = qw(first min max minstr maxstr reduce sum shuffle);
-$VERSION    = "1.18";
+$VERSION    = "1.19";
 $XS_VERSION = $VERSION;
 $VERSION    = eval $VERSION;
 
@@ -197,11 +197,11 @@ This function could be implemented using
 
 =item reduce BLOCK LIST
 
-Reduces LIST by calling BLOCK multiple times, setting C<$a> and C<$b>
-each time. The first call will be with C<$a> and C<$b> set to the first
-two elements of the list, subsequent calls will be done by
-setting C<$a> to the result of the previous call and C<$b> to the next
-element in the list.
+Reduces LIST by calling BLOCK, in a scalar context, multiple times,
+setting C<$a> and C<$b> each time. The first call will be with C<$a>
+and C<$b> set to the first two elements of the list, subsequent
+calls will be done by setting C<$a> to the result of the previous
+call and C<$b> to the next element in the list.
 
 Returns the result of the last call to BLOCK. If LIST is empty then
 C<undef> is returned. If LIST only contains one element then that
@@ -268,9 +268,13 @@ to add due to them being very simple to 
 
   sub false { scalar grep { !$_ } @_ }
 
+=head1 SEE ALSO
+
+L<Scalar::Util>, L<List::MoreUtils>
+
 =head1 COPYRIGHT
 
-Copyright (c) 1997-2005 Graham Barr <gbarr@pobox.com>. All rights reserved.
+Copyright (c) 1997-2006 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.
 
diff -up perl-5.8.8/ext/List/Util/lib/Scalar/Util.pm.old perl-5.8.8/ext/List/Util/lib/Scalar/Util.pm
--- perl-5.8.8/ext/List/Util/lib/Scalar/Util.pm.old	2005-11-09 13:23:42.000000000 +0100
+++ perl-5.8.8/ext/List/Util/lib/Scalar/Util.pm	2006-12-10 17:03:45.000000000 +0100
@@ -1,6 +1,6 @@
 # Scalar::Util.pm
 #
-# Copyright (c) 1997-2005 Graham Barr <gbarr@pobox.com>. All rights reserved.
+# Copyright (c) 1997-2006 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.
 
@@ -13,7 +13,7 @@ require List::Util; # List::Util loads t
 
 @ISA       = qw(Exporter);
 @EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted readonly openhandle refaddr isvstring looks_like_number set_prototype);
-$VERSION    = "1.18";
+$VERSION    = "1.19";
 $VERSION   = eval $VERSION;
 
 sub export_fail {
@@ -315,9 +315,13 @@ be destroyed because there is now always
 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
 
+=head1 SEE ALSO
+
+L<List::Util>
+
 =head1 COPYRIGHT
 
-Copyright (c) 1997-2005 Graham Barr <gbarr@pobox.com>. All rights reserved.
+Copyright (c) 1997-2006 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.