develooper Front page | perl.perl5.changes | Postings from March 2012

[perl.git] branch blead, updated. v5.15.8-133-g1d4b9cf

From:
Abigail
Date:
March 13, 2012 18:40
Subject:
[perl.git] branch blead, updated. v5.15.8-133-g1d4b9cf
Message ID:
E1S7dBr-0001hE-3L@camel.ams6.corp.booking.com
In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/1d4b9cf3270c936605a07ecd7414f808755d3184?hp=30faa5652ea0cfe6248ed70f321dcfdf9cea7bcd>

- Log -----------------------------------------------------------------
commit 1d4b9cf3270c936605a07ecd7414f808755d3184
Author: Abigail <abigail@abigail.be>
Date:   Wed Mar 14 02:39:16 2012 +0100

    Upgrade IO-Compress to 2.049

M	Porting/Maintainers.pl
M	cpan/IO-Compress/Changes
M	cpan/IO-Compress/Makefile.PL
M	cpan/IO-Compress/README
M	cpan/IO-Compress/lib/Compress/Zlib.pm
M	cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
M	cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
M	cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
M	cpan/IO-Compress/lib/IO/Compress/Base.pm
M	cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
M	cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
M	cpan/IO-Compress/lib/IO/Compress/Deflate.pm
M	cpan/IO-Compress/lib/IO/Compress/Gzip.pm
M	cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
M	cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
M	cpan/IO-Compress/lib/IO/Compress/Zip.pm
M	cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
M	cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
M	cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
M	cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
M	cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
M	cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
M	cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
M	cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
M	cpan/IO-Compress/lib/IO/Uncompress/Base.pm
M	cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
M	cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
M	cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
M	cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
M	cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
M	cpan/IO-Compress/t/000prereq.t
M	cpan/IO-Compress/t/cz-03zlib-v1.t
M	cpan/IO-Compress/t/cz-14gzopen.t

commit 5b73aae5f11067a2f45e856ae2113f569949cf8f
Author: Abigail <abigail@abigail.be>
Date:   Wed Mar 14 01:59:48 2012 +0100

    Allow passing the name of the CPAN module

M	Porting/sync-with-cpan

commit 233d887d0c6b144420b64ec4ba0b3b4838c76490
Author: Abigail <abigail@abigail.be>
Date:   Wed Mar 14 01:43:58 2012 +0100

    Upgrade CPANPLUS to 0.9120

M	Porting/Maintainers.pl
M	cpan/CPANPLUS/lib/CPANPLUS.pm
M	cpan/CPANPLUS/lib/CPANPLUS/Internals.pm
M	cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm
M	cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm
M	cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm

commit 9c259538f794249b4c29c8a9c858250e7c749d92
Author: Abigail <abigail@abigail.be>
Date:   Wed Mar 14 01:40:23 2012 +0100

    Deal with files in the CUSTOMIZED sections.

M	Porting/sync-with-cpan

commit eabcd9c8d7e00e51ae2636e566e70bb210289338
Author: Abigail <abigail@abigail.be>
Date:   Wed Mar 14 01:31:45 2012 +0100

    Upgrade Socket to 2.000

M	MANIFEST
M	Porting/Maintainers.pl
M	cpan/Socket/Makefile.PL
M	cpan/Socket/Socket.pm
M	cpan/Socket/Socket.xs
M	cpan/Socket/t/Socket.t

commit a56b274156c02a5cd8c3a59e6714f42705281f39
Author: Abigail <abigail@abigail.be>
Date:   Wed Mar 14 01:19:42 2012 +0100

    Upgrade Socket to version 2,000

A	cpan/Socket/t/sockaddr.t

commit a812178126ae9e8787bcd14b429624d02297260d
Author: Abigail <abigail@abigail.be>
Date:   Wed Mar 14 01:19:06 2012 +0100

    Fix the fixing of MANIFEST

M	Porting/sync-with-cpan

commit b7657688a7a906fc8146026c4cac58976ed20856
Author: Abigail <abigail@abigail.be>
Date:   Wed Mar 14 00:56:07 2012 +0100

    Upgrade Unicode::Normalize to 1.14.

M	Porting/Maintainers.pl
M	cpan/Unicode-Normalize/Changes
M	cpan/Unicode-Normalize/Makefile.PL
M	cpan/Unicode-Normalize/Normalize.pm
M	cpan/Unicode-Normalize/README
M	cpan/Unicode-Normalize/t/fcdc.t
M	cpan/Unicode-Normalize/t/form.t
M	cpan/Unicode-Normalize/t/func.t
M	cpan/Unicode-Normalize/t/illegal.t
M	cpan/Unicode-Normalize/t/norm.t
M	cpan/Unicode-Normalize/t/partial1.t
M	cpan/Unicode-Normalize/t/partial2.t
M	cpan/Unicode-Normalize/t/proto.t
M	cpan/Unicode-Normalize/t/split.t
M	cpan/Unicode-Normalize/t/test.t
M	cpan/Unicode-Normalize/t/tie.t
-----------------------------------------------------------------------

Summary of changes:
 MANIFEST                                           |    1 +
 Porting/Maintainers.pl                             |    8 +-
 Porting/sync-with-cpan                             |   44 ++++---
 cpan/CPANPLUS/lib/CPANPLUS.pm                      |    2 +-
 cpan/CPANPLUS/lib/CPANPLUS/Internals.pm            |    2 +-
 cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm     |    5 +-
 cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm     |   59 ++++++++-
 cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm        |    2 +-
 cpan/IO-Compress/Changes                           |    9 ++-
 cpan/IO-Compress/Makefile.PL                       |    2 +-
 cpan/IO-Compress/README                            |    8 +-
 cpan/IO-Compress/lib/Compress/Zlib.pm              |   12 +-
 cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm  |    6 +-
 .../IO-Compress/lib/IO/Compress/Adapter/Deflate.pm |    6 +-
 .../lib/IO/Compress/Adapter/Identity.pm            |    4 +-
 cpan/IO-Compress/lib/IO/Compress/Base.pm           |    4 +-
 cpan/IO-Compress/lib/IO/Compress/Base/Common.pm    |    2 +-
 cpan/IO-Compress/lib/IO/Compress/Bzip2.pm          |   10 +-
 cpan/IO-Compress/lib/IO/Compress/Deflate.pm        |   10 +-
 cpan/IO-Compress/lib/IO/Compress/Gzip.pm           |   12 +-
 cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm |    2 +-
 cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm     |   12 +-
 cpan/IO-Compress/lib/IO/Compress/Zip.pm            |   28 ++--
 cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm  |    2 +-
 cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm |    2 +-
 cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm     |    4 +-
 .../lib/IO/Uncompress/Adapter/Bunzip2.pm           |    6 +-
 .../lib/IO/Uncompress/Adapter/Identity.pm          |    6 +-
 .../lib/IO/Uncompress/Adapter/Inflate.pm           |    6 +-
 cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm   |   18 ++--
 .../IO-Compress/lib/IO/Uncompress/AnyUncompress.pm |   40 +++---
 cpan/IO-Compress/lib/IO/Uncompress/Base.pm         |    4 +-
 cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm      |   10 +-
 cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm       |   14 +-
 cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm      |    8 +-
 cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm   |   10 +-
 cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm        |   18 ++--
 cpan/IO-Compress/t/000prereq.t                     |    2 +-
 cpan/IO-Compress/t/cz-03zlib-v1.t                  |   34 ++++--
 cpan/IO-Compress/t/cz-14gzopen.t                   |   17 +++-
 cpan/Socket/Makefile.PL                            |   25 ++--
 cpan/Socket/Socket.pm                              |   12 +-
 cpan/Socket/Socket.xs                              |   33 ++++--
 cpan/Socket/t/Socket.t                             |   83 +------------
 cpan/Socket/t/sockaddr.t                           |  133 ++++++++++++++++++++
 cpan/Unicode-Normalize/Changes                     |    3 +
 cpan/Unicode-Normalize/Makefile.PL                 |    1 -
 cpan/Unicode-Normalize/Normalize.pm                |    5 +-
 cpan/Unicode-Normalize/README                      |    4 +-
 cpan/Unicode-Normalize/t/fcdc.t                    |   28 ++++-
 cpan/Unicode-Normalize/t/form.t                    |   16 ++-
 cpan/Unicode-Normalize/t/func.t                    |   31 ++++-
 cpan/Unicode-Normalize/t/illegal.t                 |   15 ++-
 cpan/Unicode-Normalize/t/norm.t                    |   27 ++++-
 cpan/Unicode-Normalize/t/partial1.t                |   21 +++-
 cpan/Unicode-Normalize/t/partial2.t                |   21 +++-
 cpan/Unicode-Normalize/t/proto.t                   |   24 +++-
 cpan/Unicode-Normalize/t/split.t                   |   23 +++-
 cpan/Unicode-Normalize/t/test.t                    |   34 +++++-
 cpan/Unicode-Normalize/t/tie.t                     |   14 ++-
 60 files changed, 668 insertions(+), 336 deletions(-)
 create mode 100644 cpan/Socket/t/sockaddr.t

diff --git a/MANIFEST b/MANIFEST
index 86480b1..125d0bd 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -2223,6 +2223,7 @@ cpan/Socket/Socket.xs			Socket extension external subroutines
 cpan/Socket/t/getaddrinfo.t		See if Socket::getaddrinfo works
 cpan/Socket/t/getnameinfo.t		See if Socket::getnameinfo works
 cpan/Socket/t/ipv6_mreq.t		See if (un)pack_ipv6_mreq work
+cpan/Socket/t/sockaddr.t
 cpan/Socket/t/socketpair.t		See if socketpair works
 cpan/Socket/t/Socket.t			See if Socket works
 cpan/Socket/typemap
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 7859f3a..5f27c47 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -448,7 +448,7 @@ use File::Glob qw(:case);
 
     'CPANPLUS' => {
         'MAINTAINER'   => 'kane',
-        'DISTRIBUTION' => 'BINGOS/CPANPLUS-0.9118.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/CPANPLUS-0.9120.tar.gz',
         'FILES'        => q[cpan/CPANPLUS],
         'EXCLUDED'     => [
             qr{^inc/},
@@ -1006,7 +1006,7 @@ use File::Glob qw(:case);
 
     'IO-Compress' => {
         'MAINTAINER'   => 'pmqs',
-        'DISTRIBUTION' => 'PMQS/IO-Compress-2.048.tar.gz',
+        'DISTRIBUTION' => 'PMQS/IO-Compress-2.049.tar.gz',
         'FILES'        => q[cpan/IO-Compress],
         'EXCLUDED'     => [qr{t/Test/}],
         'UPSTREAM'     => 'cpan',
@@ -1621,7 +1621,7 @@ use File::Glob qw(:case);
 
     'Socket' => {
         'MAINTAINER'   => 'pevans',
-        'DISTRIBUTION' => 'PEVANS/Socket-1.98.tar.gz',
+        'DISTRIBUTION' => 'PEVANS/Socket-2.000.tar.gz',
         'FILES'        => q[cpan/Socket],
         'UPSTREAM'     => 'cpan',
     },
@@ -1946,7 +1946,7 @@ use File::Glob qw(:case);
 
     'Unicode::Normalize' => {
         'MAINTAINER'   => 'sadahiro',
-        'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.13.tar.gz',
+        'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.14.tar.gz',
         'FILES'        => q[cpan/Unicode-Normalize],
         'EXCLUDED'     => [
             qw( MANIFEST.N
diff --git a/Porting/sync-with-cpan b/Porting/sync-with-cpan
index 958bcc2..1c078f2 100755
--- a/Porting/sync-with-cpan
+++ b/Porting/sync-with-cpan
@@ -15,14 +15,14 @@
 #    - git rm any files that are gone.
 #    - Remove the +x bit on files in t/
 #    - Remove the +x bit on files that don't have in enabled in the current dir
+#    - Restore files mentioned in CUSTOMIZED
 #    - Adds new files to MANIFEST
 #    - Runs a "make" (assumes a configure has been run)
 #    - Cleans up
 #    - Runs tests for the package
 #    - Runs the porting tests
 #
-# TODO:  - Restore files from CUSTOMIZED
-#        - Delete files from MANIFEST
+# TODO:  - Delete files from MANIFEST
 #        - Update Porting/Maintainers.pl
 #        - Optional, run a full test suite
 #        - Handle complicated FILES
@@ -72,9 +72,10 @@ unless (-f $package_file && -M $package_file < 1) {
     system wget => $package_url, '-qO', $package_file;
 }
 
-die "Usage: $0 module" unless @ARGV == 1;
+die "Usage: $0 module [cpan package]" unless @ARGV == 1 || @ARGV == 2;
 
-my ($module) = @ARGV;
+my ($module)  = shift;
+my  $cpan_mod = @ARGV ? shift : $module;
 
 my  $info         = $Modules {$module} or die "Cannot find module $module";
 my  $distribution = $$info {DISTRIBUTION};
@@ -84,15 +85,15 @@ my  $pkg_dir      = $$info {FILES};
 my ($old_version) = $distribution =~ /-([0-9.]+)\.tar\.gz/;
 
 my  $o_module     = $module;
-if ($module =~ /-/ && $module !~ /::/) {
-    $module =~ s/-/::/g;
+if ($cpan_mod =~ /-/ && $cpan_mod !~ /::/) {
+    $cpan_mod =~ s/-/::/g;
 }
 
 #
 # Find the information from CPAN.
 #
-my  $new_line = `grep '^$module ' $package_file`
-                 or die "Cannot find $module on CPAN\n";
+my  $new_line = `grep '^$cpan_mod ' $package_file`
+                 or die "Cannot find $cpan_mod on CPAN\n";
 chomp $new_line;
 my (undef, $new_version, $new_path) = split ' ', $new_line;
 my $new_file = (split '/', $new_path) [-1];
@@ -223,26 +224,31 @@ system git   => 'add', "$pkg_dir/$_"      for @commit;
 system git   => 'rm', '-f', "$pkg_dir/$_" for @gone;
 system chmod => 'a-x', "$pkg_dir/$_"      for @de_exec;
 
+#
+# Restore anything that is customized.
+# We don't really care whether we've deleted the file - since we
+# do a git restore, it's going to be resurrected if necessary.
+#
+if ($$info {CUSTOMIZED}) {
+    say "Restoring customized files";
+    foreach my $file (@{$$info {CUSTOMIZED}}) {
+        system git => "checkout", "$pkg_dir/$file";
+    }
+}
+
+chdir "..";
 if (@commit) {
     say "Fixing MANIFEST";
-    my $MANIFEST      = "../MANIFEST";
+    my $MANIFEST      = "MANIFEST";
     my $MANIFEST_SORT = "$MANIFEST.sorted";
     open my $fh, ">>", $MANIFEST;
-    say $fh, "cpan/$_" for @commit;
+    say $fh "cpan/$pkg_dir/$_" for @commit;
     close $fh;
-    system perl => "Porting/manisort", '--output', $MANIFEST;
+    system perl => "Porting/manisort", '--output', $MANIFEST_SORT;
     rename $MANIFEST_SORT => $MANIFEST;
 }
 
 
-#
-# TODO:
-#   - deal with +x bit
-#   - update Porting/Maintainers.pl
-#
-
-
-chdir "..";
 print "Running a make ... ";
 system "make > make.log 2>&1" and die "Running make failed, see make.log";
 print "done\n";
diff --git a/cpan/CPANPLUS/lib/CPANPLUS.pm b/cpan/CPANPLUS/lib/CPANPLUS.pm
index 3367aed..5297487 100644
--- a/cpan/CPANPLUS/lib/CPANPLUS.pm
+++ b/cpan/CPANPLUS/lib/CPANPLUS.pm
@@ -13,7 +13,7 @@ BEGIN {
     use vars        qw( @EXPORT @ISA $VERSION );
     @EXPORT     =   qw( shell fetch get install );
     @ISA        =   qw( Exporter );
-    $VERSION = "0.9118";     #have to hardcode or cpan.org gets unhappy
+    $VERSION = "0.9120";     #have to hardcode or cpan.org gets unhappy
 }
 
 ### purely for backward compatibility, so we can call it from the commandline:
diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm
index a0fa443..3dde367 100644
--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm
+++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm
@@ -42,7 +42,7 @@ use vars qw[@ISA $VERSION];
             CPANPLUS::Internals::Report
         ];
 
-$VERSION = "0.9118";
+$VERSION = "0.9120";
 
 =pod
 
diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm
index 24d4c62..6e3cd56 100644
--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm
+++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm
@@ -509,12 +509,13 @@ sub _send_report {
         $message .= REPORT_TESTS_SKIPPED->();
     } elsif( $grade eq GRADE_NA) {
 
+        my $capture = ( $status && defined $status->{capture} ? $status->{capture} : $buffer );
+
         ### add the reason for the NA to the buffer
-        $buffer = join $/, $buffer, map {
+        $capture = join $/, $capture, map {
                         '[' . $_->tag . '] [' . $_->when . '] ' .
                         $_->message } ( CPANPLUS::Error->stack )[-1];
 
-        my $capture = ( $status && defined $status->{capture} ? $status->{capture} : $buffer );
         ### the bit where we inform what went wrong
         $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $capture );
 
diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm
index 85e1bd2..1f75535 100644
--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm
+++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm
@@ -549,6 +549,16 @@ sub __create_author_tree {
     ### don't need it anymore ###
     unlink $out;
 
+    my ($tot,$prce,$prc,$idx);
+
+    $args->{verbose}
+   and local $|=1,
+       $tot = scalar(split /\n/, $cont),
+       ($prce, $prc, $idx) = (int $tot / 25, 0, 0);
+
+    $args->{verbose}
+   and print "\t0%";
+
     for ( split /\n/, $cont ) {
         my($id, $name, $email) = m/^alias \s+
                                     (\S+) \s+
@@ -561,8 +571,24 @@ sub __create_author_tree {
             cpanid  => $id,             #authors CPAN ID
         ) or error( loc("Could not add author '%1'", $name ) );
 
+   $args->{verbose}
+       and (
+          $idx++,
+
+          ($idx==$prce
+         and ($prc+=4,$idx=0,print ".")),
+
+              (($prc % 10)
+              or $idx
+              or print $prc,'%')
+      );
+
     }
 
+    $args->{verbose}
+   and print "\n";
+
+
     return $self->_atree;
 
 } #__create_author_tree
@@ -636,9 +662,17 @@ sub _create_mod_tree {
     ### don't need it anymore ###
     unlink $out;
 
-    my($past_header, $count);
-    for ( split /\n/, $content ) {
+    my($past_header, $count, $tot, $prce, $prc, $idx);
+
+    $args->{verbose}
+   and local $|=1,
+       $tot = scalar(split /\n/, $content),
+       ($prce, $prc, $idx) = (int $tot / 25, 0, 0);
 
+    $args->{verbose}
+   and print "\t0%";
+
+    for ( split /\n/, $content ) {
         ### quick hack to read past the header of the file ###
         ### this is still rather evil... fix some time - Kane
         if( m|^\s*$| ) {
@@ -730,8 +764,23 @@ sub _create_mod_tree {
             mtime       => '',
         ) or error( loc( "Could not add module '%1'", $data[0] ) );
 
+   $args->{verbose}
+       and (
+          $idx++,
+
+          ($idx==$prce
+         and ($prc+=4,$idx=0,print ".")),
+
+              (($prc % 10)
+              or $idx
+              or print $prc,'%')
+      );
+
     } #for
 
+    $args->{verbose}
+   and print "\n";
+
     return $self->_mtree;
 
 } #_create_mod_tree
@@ -822,9 +871,9 @@ sub __create_dslip_tree {
     ### use this regex to make sure dslips with ';' in them don't cause
     ### parser errors
     my ($ds_one, $ds_two) = ($in =~ m|.+}\s+
-										(\$(?:CPAN::Modulelist::)?cols.*?)
-										(\$(?:CPAN::Modulelist::)?data.*)
-									|sx);
+                              (\$(?:CPAN::Modulelist::)?cols.*?)
+                              (\$(?:CPAN::Modulelist::)?data.*)
+                           |sx);
 
     ### eval them into existence ###
     ### still not too fond of this solution - kane ###
diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm b/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm
index 6a53391..04e9775 100644
--- a/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm
+++ b/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm
@@ -26,7 +26,7 @@ local $Data::Dumper::Indent     = 1; # for dumpering from !
 BEGIN {
     use vars        qw[ $VERSION @ISA ];
     @ISA        =   qw[ CPANPLUS::Shell::_Base::ReadLine ];
-    $VERSION = "0.9118";
+    $VERSION = "0.9120";
 }
 
 load CPANPLUS::Shell;
diff --git a/cpan/IO-Compress/Changes b/cpan/IO-Compress/Changes
index 0862dd6..9125b0b 100644
--- a/cpan/IO-Compress/Changes
+++ b/cpan/IO-Compress/Changes
@@ -1,11 +1,18 @@
 CHANGES
 -------
 
+  2.049 18 February 2012
+
+      * IO::Compress::Zip
+        Error in t/cz-03zlib-v1.t that caused warnings with 5.15
+        [RT# 110736: warnings from cpan/IO-Compress/t/cz-03zlib-v1.t]
+
   2.048 29 January 2012
 
       * Set minimum zlib version to 1.2.0
       
-      * IO::Compress test suite fails with Compress::Raw::Zlib 2.047 and zlib < 1.2.4
+      * IO::Compress test suite fails with Compress::Raw::Zlib 2.047 
+        and zlib < 1.2.4
         [RT# 74503]
       
   2.047 28 January 2012
diff --git a/cpan/IO-Compress/Makefile.PL b/cpan/IO-Compress/Makefile.PL
index ae85bbb..eeedd49 100644
--- a/cpan/IO-Compress/Makefile.PL
+++ b/cpan/IO-Compress/Makefile.PL
@@ -3,7 +3,7 @@
 use strict ;
 require 5.006 ;
 
-$::VERSION = '2.048' ;
+$::VERSION = '2.049' ;
 
 use private::MakeUtil;
 use ExtUtils::MakeMaker 5.16 ;
diff --git a/cpan/IO-Compress/README b/cpan/IO-Compress/README
index ac90f58..0777ed6 100644
--- a/cpan/IO-Compress/README
+++ b/cpan/IO-Compress/README
@@ -1,9 +1,9 @@
 
-                             IO-Compress
+                            IO-Compress
 
-                             Version 2.048
+                         Version 2.049
 
-                             29th January 2012
+                            18th February 2012
 
        Copyright (c) 1995-2012 Paul Marquess. All rights reserved.
           This program is free software; you can redistribute it
@@ -89,7 +89,7 @@ To help me help you, I need all of the following information:
         If you haven't installed IO-Compress then search IO::Compress::Gzip.pm
         for a line like this:
 
-          $VERSION = "2.048" ;
+          $VERSION = "2.049" ;
 
  2. If you are having problems building IO-Compress, send me a
     complete log of what happened. Start by unpacking the IO-Compress
diff --git a/cpan/IO-Compress/lib/Compress/Zlib.pm b/cpan/IO-Compress/lib/Compress/Zlib.pm
index db13bb0..ca7fdaa 100644
--- a/cpan/IO-Compress/lib/Compress/Zlib.pm
+++ b/cpan/IO-Compress/lib/Compress/Zlib.pm
@@ -7,17 +7,17 @@ use Carp ;
 use IO::Handle ;
 use Scalar::Util qw(dualvar);
 
-use IO::Compress::Base::Common 2.048 ;
-use Compress::Raw::Zlib 2.048 ;
-use IO::Compress::Gzip 2.048 ;
-use IO::Uncompress::Gunzip 2.048 ;
+use IO::Compress::Base::Common 2.049 ;
+use Compress::Raw::Zlib 2.049 ;
+use IO::Compress::Gzip 2.049 ;
+use IO::Uncompress::Gunzip 2.049 ;
 
 use strict ;
 use warnings ;
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
@@ -453,7 +453,7 @@ sub inflate
 
 package Compress::Zlib ;
 
-use IO::Compress::Gzip::Constants 2.048 ;
+use IO::Compress::Gzip::Constants 2.049 ;
 
 sub memGzip($)
 {
diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
index 452e12e..7b3a258 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
@@ -4,12 +4,12 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.048 qw(:Status);
+use IO::Compress::Base::Common  2.049 qw(:Status);
 
-use Compress::Raw::Bzip2  2.048 ;
+use Compress::Raw::Bzip2  2.049 ;
 
 our ($VERSION);
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 sub mkCompObject
 {
diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
index 4a99c36..1c9603a 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
@@ -4,13 +4,13 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.048 qw(:Status);
-use Compress::Raw::Zlib  2.048 qw( !crc32 !adler32 ) ;
+use IO::Compress::Base::Common 2.049 qw(:Status);
+use Compress::Raw::Zlib  2.049 qw( !crc32 !adler32 ) ;
                                   
 require Exporter;                                     
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 @ISA = qw(Exporter);
 @EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS;
 %EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS;
diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
index c7a0031..f3d2bad 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
@@ -4,10 +4,10 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.048 qw(:Status);
+use IO::Compress::Base::Common  2.049 qw(:Status);
 our ($VERSION);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 sub mkCompObject
 {
diff --git a/cpan/IO-Compress/lib/IO/Compress/Base.pm b/cpan/IO-Compress/lib/IO/Compress/Base.pm
index 2137bbb..5bee72e 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Base.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Base.pm
@@ -6,7 +6,7 @@ require 5.006 ;
 use strict ;
 use warnings;
 
-use IO::Compress::Base::Common 2.048 ;
+use IO::Compress::Base::Common 2.049 ;
 
 use IO::File qw(SEEK_SET SEEK_END); ;
 use Scalar::Util qw(blessed readonly);
@@ -20,7 +20,7 @@ use bytes;
 our (@ISA, $VERSION);
 @ISA    = qw(Exporter IO::File);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 #Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16.
 
diff --git a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm b/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
index c6c3818..9af938f 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
@@ -11,7 +11,7 @@ use File::GlobMapper;
 require Exporter;
 our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
 @ISA = qw(Exporter);
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 @EXPORT = qw( isaFilehandle isaFilename isaScalar
               whatIsInput whatIsOutput 
diff --git a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
index dd9016b..e8bdc0e 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
@@ -5,16 +5,16 @@ use warnings;
 use bytes;
 require Exporter ;
 
-use IO::Compress::Base 2.048 ;
+use IO::Compress::Base 2.049 ;
 
-use IO::Compress::Base::Common  2.048 qw(createSelfTiedObject);
-use IO::Compress::Adapter::Bzip2 2.048 ;
+use IO::Compress::Base::Common  2.049 qw(createSelfTiedObject);
+use IO::Compress::Adapter::Bzip2 2.049 ;
 
 
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $Bzip2Error = '';
 
 @ISA    = qw(Exporter IO::Compress::Base);
@@ -51,7 +51,7 @@ sub getExtraParams
 {
     my $self = shift ;
 
-    use IO::Compress::Base::Common  2.048 qw(:Parse);
+    use IO::Compress::Base::Common  2.049 qw(:Parse);
     
     return (
             'BlockSize100K' => [0, 1, Parse_unsigned,  1],
diff --git a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
index daa7d7a..fd1966b 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
@@ -8,16 +8,16 @@ use bytes;
 
 require Exporter ;
 
-use IO::Compress::RawDeflate 2.048 ();
-use IO::Compress::Adapter::Deflate 2.048 ;
+use IO::Compress::RawDeflate 2.049 ();
+use IO::Compress::Adapter::Deflate 2.049 ;
 
-use IO::Compress::Zlib::Constants 2.048 ;
-use IO::Compress::Base::Common  2.048 qw(createSelfTiedObject);
+use IO::Compress::Zlib::Constants 2.049 ;
+use IO::Compress::Base::Common  2.049 qw(createSelfTiedObject);
 
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $DeflateError = '';
 
 @ISA    = qw(Exporter IO::Compress::RawDeflate);
diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
index 6530c25..ca5ac48 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
@@ -8,12 +8,12 @@ use bytes;
 
 require Exporter ;
 
-use IO::Compress::RawDeflate 2.048 () ; 
-use IO::Compress::Adapter::Deflate 2.048 ;
+use IO::Compress::RawDeflate 2.049 () ; 
+use IO::Compress::Adapter::Deflate 2.049 ;
 
-use IO::Compress::Base::Common  2.048 qw(:Status :Parse isaScalar createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.048 ;
-use IO::Compress::Zlib::Extra 2.048 ;
+use IO::Compress::Base::Common  2.049 qw(:Status :Parse isaScalar createSelfTiedObject);
+use IO::Compress::Gzip::Constants 2.049 ;
+use IO::Compress::Zlib::Extra 2.049 ;
 
 BEGIN
 {
@@ -25,7 +25,7 @@ BEGIN
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $GzipError = '' ;
 
 @ISA    = qw(Exporter IO::Compress::RawDeflate);
diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
index c218a31..6b10fb0 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
 our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
 our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 @ISA = qw(Exporter);
 
diff --git a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
index 883a4eb..d42a194 100644
--- a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
@@ -7,15 +7,15 @@ use warnings;
 use bytes;
 
 
-use IO::Compress::Base 2.048 ;
-use IO::Compress::Base::Common  2.048 qw(:Status createSelfTiedObject);
-use IO::Compress::Adapter::Deflate 2.048 ;
+use IO::Compress::Base 2.049 ;
+use IO::Compress::Base::Common  2.049 qw(:Status createSelfTiedObject);
+use IO::Compress::Adapter::Deflate 2.049 ;
 
 require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $RawDeflateError = '';
 
 @ISA = qw(Exporter IO::Compress::Base);
@@ -121,8 +121,8 @@ sub getZlibParams
 {
     my $self = shift ;
 
-    use IO::Compress::Base::Common  2.048 qw(:Parse);
-    use Compress::Raw::Zlib  2.048 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+    use IO::Compress::Base::Common  2.049 qw(:Parse);
+    use Compress::Raw::Zlib  2.049 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
 
     
     return (
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip.pm b/cpan/IO-Compress/lib/IO/Compress/Zip.pm
index 9c2780a..18690c9 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Zip.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Zip.pm
@@ -4,30 +4,30 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.048 qw(:Status MAX32 isGeMax32 isaScalar createSelfTiedObject);
-use IO::Compress::RawDeflate 2.048 ();
-use IO::Compress::Adapter::Deflate 2.048 ;
-use IO::Compress::Adapter::Identity 2.048 ;
-use IO::Compress::Zlib::Extra 2.048 ;
-use IO::Compress::Zip::Constants 2.048 ;
+use IO::Compress::Base::Common  2.049 qw(:Status MAX32 isGeMax32 isaScalar createSelfTiedObject);
+use IO::Compress::RawDeflate 2.049 ();
+use IO::Compress::Adapter::Deflate 2.049 ;
+use IO::Compress::Adapter::Identity 2.049 ;
+use IO::Compress::Zlib::Extra 2.049 ;
+use IO::Compress::Zip::Constants 2.049 ;
 
 use File::Spec();
 use Config;
 
-use Compress::Raw::Zlib  2.048 (); 
+use Compress::Raw::Zlib  2.049 (); 
 
 BEGIN
 {
     eval { require IO::Compress::Adapter::Bzip2 ; 
-           import  IO::Compress::Adapter::Bzip2 2.048 ; 
+           import  IO::Compress::Adapter::Bzip2 2.049 ; 
            require IO::Compress::Bzip2 ; 
-           import  IO::Compress::Bzip2 2.048 ; 
+           import  IO::Compress::Bzip2 2.049 ; 
          } ;
          
     eval { require IO::Compress::Adapter::Lzma ; 
-           import  IO::Compress::Adapter::Lzma 2.048 ; 
+           import  IO::Compress::Adapter::Lzma 2.049 ; 
            require IO::Compress::Lzma ; 
-           import  IO::Compress::Lzma 2.048 ; 
+           import  IO::Compress::Lzma 2.049 ; 
          } ;
 }
 
@@ -36,7 +36,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $ZipError = '';
 
 @ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -664,8 +664,8 @@ sub getExtraParams
 {
     my $self = shift ;
 
-    use IO::Compress::Base::Common  2.048 qw(:Parse);
-    use Compress::Raw::Zlib  2.048 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+    use IO::Compress::Base::Common  2.049 qw(:Parse);
+    use Compress::Raw::Zlib  2.049 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
 
     my @Bzip2 = ();
     
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
index 8db079c..1d30a49 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
@@ -7,7 +7,7 @@ require Exporter;
 
 our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 @ISA = qw(Exporter);
 
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
index 992b1b9..dc33e83 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
 
 our ($VERSION, @ISA, @EXPORT);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 @ISA = qw(Exporter);
 
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm b/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
index 9e0be2e..d89fcfc 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
@@ -8,9 +8,9 @@ use bytes;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
-use IO::Compress::Gzip::Constants 2.048 ;
+use IO::Compress::Gzip::Constants 2.049 ;
 
 sub ExtraFieldError
 {
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
index 516c5dd..a7d0a92 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
@@ -4,12 +4,12 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.048 qw(:Status);
+use IO::Compress::Base::Common 2.049 qw(:Status);
 
-use Compress::Raw::Bzip2 2.048 ;
+use Compress::Raw::Bzip2 2.049 ;
 
 our ($VERSION, @ISA);
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 sub mkUncompObject
 {
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
index 5d74d04..a96347c 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
@@ -4,14 +4,14 @@ use warnings;
 use strict;
 use bytes;
 
-use IO::Compress::Base::Common  2.048 qw(:Status);
+use IO::Compress::Base::Common  2.049 qw(:Status);
 use IO::Compress::Zip::Constants ;
 
 our ($VERSION);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
-use Compress::Raw::Zlib  2.048 ();
+use Compress::Raw::Zlib  2.049 ();
 
 sub mkUncompObject
 {
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
index c0f3542..97bb201 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
@@ -4,11 +4,11 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.048 qw(:Status);
-use Compress::Raw::Zlib  2.048 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
+use IO::Compress::Base::Common  2.049 qw(:Status);
+use Compress::Raw::Zlib  2.049 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
 
 our ($VERSION);
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 
 
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
index a6ab437..8b94844 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
@@ -6,22 +6,22 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.048 qw(createSelfTiedObject);
+use IO::Compress::Base::Common  2.049 qw(createSelfTiedObject);
 
-use IO::Uncompress::Adapter::Inflate  2.048 ();
+use IO::Uncompress::Adapter::Inflate  2.049 ();
 
 
-use IO::Uncompress::Base  2.048 ;
-use IO::Uncompress::Gunzip  2.048 ;
-use IO::Uncompress::Inflate  2.048 ;
-use IO::Uncompress::RawInflate  2.048 ;
-use IO::Uncompress::Unzip  2.048 ;
+use IO::Uncompress::Base  2.049 ;
+use IO::Uncompress::Gunzip  2.049 ;
+use IO::Uncompress::Inflate  2.049 ;
+use IO::Uncompress::RawInflate  2.049 ;
+use IO::Uncompress::Unzip  2.049 ;
 
 require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $AnyInflateError = '';
 
 @ISA = qw( Exporter IO::Uncompress::Base );
@@ -48,7 +48,7 @@ sub anyinflate
 
 sub getExtraParams
 {
-    use IO::Compress::Base::Common  2.048 qw(:Parse);
+    use IO::Compress::Base::Common  2.049 qw(:Parse);
     return ( 'RawInflate' => [1, 1, Parse_boolean,  0] ) ;
 }
 
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
index d9a48e6..8dd0ea8 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
@@ -4,16 +4,16 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.048 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.049 qw(createSelfTiedObject);
 
-use IO::Uncompress::Base 2.048 ;
+use IO::Uncompress::Base 2.049 ;
 
 
 require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $AnyUncompressError = '';
 
 @ISA = qw( Exporter IO::Uncompress::Base );
@@ -27,22 +27,22 @@ Exporter::export_ok_tags('all');
 
 BEGIN
 {
-   eval ' use IO::Uncompress::Adapter::Inflate 2.048 ;';
-   eval ' use IO::Uncompress::Adapter::Bunzip2 2.048 ;';
-   eval ' use IO::Uncompress::Adapter::LZO 2.048 ;';
-   eval ' use IO::Uncompress::Adapter::Lzf 2.048 ;';
-   eval ' use IO::Uncompress::Adapter::UnLzma 2.048 ;';
-   eval ' use IO::Uncompress::Adapter::UnXz 2.048 ;';
-
-   eval ' use IO::Uncompress::Bunzip2 2.048 ;';
-   eval ' use IO::Uncompress::UnLzop 2.048 ;';
-   eval ' use IO::Uncompress::Gunzip 2.048 ;';
-   eval ' use IO::Uncompress::Inflate 2.048 ;';
-   eval ' use IO::Uncompress::RawInflate 2.048 ;';
-   eval ' use IO::Uncompress::Unzip 2.048 ;';
-   eval ' use IO::Uncompress::UnLzf 2.048 ;';
-   eval ' use IO::Uncompress::UnLzma 2.048 ;';
-   eval ' use IO::Uncompress::UnXz 2.048 ;';
+   eval ' use IO::Uncompress::Adapter::Inflate 2.049 ;';
+   eval ' use IO::Uncompress::Adapter::Bunzip2 2.049 ;';
+   eval ' use IO::Uncompress::Adapter::LZO 2.049 ;';
+   eval ' use IO::Uncompress::Adapter::Lzf 2.049 ;';
+   eval ' use IO::Uncompress::Adapter::UnLzma 2.049 ;';
+   eval ' use IO::Uncompress::Adapter::UnXz 2.049 ;';
+
+   eval ' use IO::Uncompress::Bunzip2 2.049 ;';
+   eval ' use IO::Uncompress::UnLzop 2.049 ;';
+   eval ' use IO::Uncompress::Gunzip 2.049 ;';
+   eval ' use IO::Uncompress::Inflate 2.049 ;';
+   eval ' use IO::Uncompress::RawInflate 2.049 ;';
+   eval ' use IO::Uncompress::Unzip 2.049 ;';
+   eval ' use IO::Uncompress::UnLzf 2.049 ;';
+   eval ' use IO::Uncompress::UnLzma 2.049 ;';
+   eval ' use IO::Uncompress::UnXz 2.049 ;';
 }
 
 sub new
@@ -60,7 +60,7 @@ sub anyuncompress
 
 sub getExtraParams
 {
-    use IO::Compress::Base::Common 2.048 qw(:Parse);
+    use IO::Compress::Base::Common 2.049 qw(:Parse);
     return ( 'RawInflate' => [1, 1, Parse_boolean,  0] ,
              'UnLzma'     => [1, 1, Parse_boolean,  0] ) ;
 }
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
index cb1e15e..8145480 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
@@ -9,12 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
 @ISA    = qw(Exporter IO::File);
 
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 use constant G_EOF => 0 ;
 use constant G_ERR => -1 ;
 
-use IO::Compress::Base::Common 2.048 ;
+use IO::Compress::Base::Common 2.049 ;
 
 use IO::File ;
 use Symbol;
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
index f53513a..d26e6c5 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
@@ -4,15 +4,15 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.048 qw(:Status createSelfTiedObject);
+use IO::Compress::Base::Common 2.049 qw(:Status createSelfTiedObject);
 
-use IO::Uncompress::Base 2.048 ;
-use IO::Uncompress::Adapter::Bunzip2 2.048 ;
+use IO::Uncompress::Base 2.049 ;
+use IO::Uncompress::Adapter::Bunzip2 2.049 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $Bunzip2Error = '';
 
 @ISA    = qw( Exporter IO::Uncompress::Base );
@@ -40,7 +40,7 @@ sub getExtraParams
 {
     my $self = shift ;
 
-    use IO::Compress::Base::Common 2.048 qw(:Parse);
+    use IO::Compress::Base::Common 2.049 qw(:Parse);
     
     return (
             'Verbosity'     => [1, 1, Parse_boolean,   0],
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
index bf803ae..7e2b111 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
@@ -9,12 +9,12 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Uncompress::RawInflate 2.048 ;
+use IO::Uncompress::RawInflate 2.049 ;
 
-use Compress::Raw::Zlib 2.048 () ;
-use IO::Compress::Base::Common 2.048 qw(:Status createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.048 ;
-use IO::Compress::Zlib::Extra 2.048 ;
+use Compress::Raw::Zlib 2.049 () ;
+use IO::Compress::Base::Common 2.049 qw(:Status createSelfTiedObject);
+use IO::Compress::Gzip::Constants 2.049 ;
+use IO::Compress::Zlib::Extra 2.049 ;
 
 require Exporter ;
 
@@ -28,7 +28,7 @@ Exporter::export_ok_tags('all');
 
 $GunzipError = '';
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 
 sub new
 {
@@ -47,7 +47,7 @@ sub gunzip
 
 sub getExtraParams
 {
-    use IO::Compress::Base::Common  2.048 qw(:Parse);
+    use IO::Compress::Base::Common  2.049 qw(:Parse);
     return ( 'ParseExtra' => [1, 1, Parse_boolean,  0] ) ;
 }
 
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
index 7a40889..76a6c20 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
@@ -5,15 +5,15 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.048 qw(:Status createSelfTiedObject);
-use IO::Compress::Zlib::Constants 2.048 ;
+use IO::Compress::Base::Common  2.049 qw(:Status createSelfTiedObject);
+use IO::Compress::Zlib::Constants 2.049 ;
 
-use IO::Uncompress::RawInflate  2.048 ;
+use IO::Uncompress::RawInflate  2.049 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $InflateError = '';
 
 @ISA    = qw( Exporter IO::Uncompress::RawInflate );
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
index 0372ec7..d00d13e 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
@@ -5,16 +5,16 @@ use strict ;
 use warnings;
 use bytes;
 
-use Compress::Raw::Zlib  2.048 ;
-use IO::Compress::Base::Common  2.048 qw(:Status createSelfTiedObject);
+use Compress::Raw::Zlib  2.049 ;
+use IO::Compress::Base::Common  2.049 qw(:Status createSelfTiedObject);
 
-use IO::Uncompress::Base  2.048 ;
-use IO::Uncompress::Adapter::Inflate  2.048 ;
+use IO::Uncompress::Base  2.049 ;
+use IO::Uncompress::Adapter::Inflate  2.049 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $RawInflateError = '';
 
 @ISA    = qw( Exporter IO::Uncompress::Base );
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
index 7b2121c..1862a80 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
@@ -9,14 +9,14 @@ use warnings;
 use bytes;
 
 use IO::File;
-use IO::Uncompress::RawInflate  2.048 ;
-use IO::Compress::Base::Common  2.048 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate  2.048 ;
-use IO::Uncompress::Adapter::Identity 2.048 ;
-use IO::Compress::Zlib::Extra 2.048 ;
-use IO::Compress::Zip::Constants 2.048 ;
+use IO::Uncompress::RawInflate  2.049 ;
+use IO::Compress::Base::Common  2.049 qw(:Status createSelfTiedObject);
+use IO::Uncompress::Adapter::Inflate  2.049 ;
+use IO::Uncompress::Adapter::Identity 2.049 ;
+use IO::Compress::Zlib::Extra 2.049 ;
+use IO::Compress::Zip::Constants 2.049 ;
 
-use Compress::Raw::Zlib  2.048 () ;
+use Compress::Raw::Zlib  2.049 () ;
 
 BEGIN
 {
@@ -31,7 +31,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
 
-$VERSION = '2.048';
+$VERSION = '2.049';
 $UnzipError = '';
 
 @ISA    = qw(Exporter IO::Uncompress::RawInflate);
@@ -64,7 +64,7 @@ sub unzip
 
 sub getExtraParams
 {
-    use IO::Compress::Base::Common  2.048 qw(:Parse);
+    use IO::Compress::Base::Common  2.049 qw(:Parse);
 
     
     return (
diff --git a/cpan/IO-Compress/t/000prereq.t b/cpan/IO-Compress/t/000prereq.t
index d861811..7ae90c5 100644
--- a/cpan/IO-Compress/t/000prereq.t
+++ b/cpan/IO-Compress/t/000prereq.t
@@ -25,7 +25,7 @@ BEGIN
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
 
-    my $VERSION = '2.048';
+    my $VERSION = '2.049';
     my @NAMES = qw(
 			Compress::Raw::Bzip2
 			Compress::Raw::Zlib
diff --git a/cpan/IO-Compress/t/cz-03zlib-v1.t b/cpan/IO-Compress/t/cz-03zlib-v1.t
index 8b804cb..a85ed10 100644
--- a/cpan/IO-Compress/t/cz-03zlib-v1.t
+++ b/cpan/IO-Compress/t/cz-03zlib-v1.t
@@ -26,7 +26,7 @@ BEGIN
         $count = 453 ;
     }
     else {
-        $count = 464 ;
+        $count = 471 ;
     }
 
 
@@ -1231,20 +1231,38 @@ sub trickle
 
 
 {
-    title "repeated calls to flush";
+    title "repeated calls to flush - no compression";
+
+    my ($err, $x, $X, $status, $data); 
+ 
+    ok( ($x, $err) = deflateInit ( ), "Create deflate object" );
+    isa_ok $x, "Compress::Raw::Zlib::deflateStream" ;
+    cmp_ok $err, '==', Z_OK, "status is Z_OK" ;
+
+    
+    ($data, $status) = $x->flush(Z_SYNC_FLUSH) ;
+    cmp_ok  $status, '==', Z_OK, "flush returned Z_OK" ;    
+    ($data, $status) = $x->flush(Z_SYNC_FLUSH) ;
+    cmp_ok  $status, '==', Z_OK, "second flush returned Z_OK" ;    
+    is $data, "", "no output from second flush";
+}
+
+{
+    title "repeated calls to flush - after compression";
 
     my $hello = "I am a HAL 9000 computer" ;
-    my ($err, $x, $X, $status); 
+    my ($err, $x, $X, $status, $data); 
  
     ok( ($x, $err) = deflateInit ( ), "Create deflate object" );
     isa_ok $x, "Compress::Raw::Zlib::deflateStream" ;
     cmp_ok $err, '==', Z_OK, "status is Z_OK" ;
  
-    $status = $x->deflate($hello, $X) ;
+    ($data, $status) = $x->deflate($hello) ;
     cmp_ok $status, '==', Z_OK, "deflate returned Z_OK" ;
     
-    cmp_ok  $x->flush($X, Z_SYNC_FLUSH), '==', Z_OK, "flush returned Z_OK" ;    
-    $X = '';
-    cmp_ok  $x->flush($X, Z_SYNC_FLUSH), '==', Z_OK, "second flush returned Z_OK" ; 
-    is $X, "", "no output from second flush";
+    ($data, $status) = $x->flush(Z_SYNC_FLUSH) ;
+    cmp_ok  $status, '==', Z_OK, "flush returned Z_OK" ;    
+    ($data, $status) = $x->flush(Z_SYNC_FLUSH) ;
+    cmp_ok  $status, '==', Z_OK, "second flush returned Z_OK" ;    
+    is $data, "", "no output from second flush";
 }
diff --git a/cpan/IO-Compress/t/cz-14gzopen.t b/cpan/IO-Compress/t/cz-14gzopen.t
index 0918ce5..d5f0ea0 100644
--- a/cpan/IO-Compress/t/cz-14gzopen.t
+++ b/cpan/IO-Compress/t/cz-14gzopen.t
@@ -20,7 +20,7 @@ BEGIN {
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 260 + $extra ;
+    plan tests => 264 + $extra ;
 
     use_ok('Compress::Zlib', 2) ;
     use_ok('IO::Compress::Gzip::Constants') ;
@@ -651,7 +651,20 @@ foreach my $stdio ( ['-', '-'], [*STDIN, *STDOUT])
 }
 
 {
-    title 'gzflush called twice';
+    title 'gzflush called twice with Z_SYNC_FLUSH - no compression';
+
+    my $lex = new LexFile my $name ;
+
+    ok my $a = gzopen($name, "w");
+    
+    is $a->gzflush(Z_SYNC_FLUSH), Z_OK, "gzflush returns Z_OK";
+    is $a->gzflush(Z_SYNC_FLUSH), Z_OK, "gzflush returns Z_OK";    
+}
+
+
+
+{
+    title 'gzflush called twice - after compression';
 
     my $lex = new LexFile my $name ;
 
diff --git a/cpan/Socket/Makefile.PL b/cpan/Socket/Makefile.PL
index ed6c210..9a8f65d 100644
--- a/cpan/Socket/Makefile.PL
+++ b/cpan/Socket/Makefile.PL
@@ -92,7 +92,7 @@ check_for(
 );
 
 check_for(
-    confkey => "d_sockaddr_in6", # invented - check with core later
+    confkey => "d_sockaddr_in6",
     define  => "HAS_SOCKADDR_IN6",
     main    => "struct sockaddr_in6 sin6; sin6.sin6_family = AF_INET6;"
 );
@@ -104,7 +104,7 @@ check_for(
 );
 
 check_for(
-    confkey => "d_ipv6_mreq", # invented - check with core later
+    confkey => "d_ipv6_mreq",
     define  => "HAS_IPV6_MREQ",
     main    => "struct ipv6_mreq mreq; mreq.ipv6mr_interface = 0;"
 );
@@ -116,17 +116,20 @@ my %makefile_args;
 $makefile_args{INSTALLDIRS} = "perl" if $] < 5.012;
 
 WriteMakefile(
-    NAME	 => 'Socket',
-    VERSION_FROM => 'Socket.pm',
+    NAME	  => 'Socket',
+    VERSION_FROM  => 'Socket.pm',
+    # ABSTRACT_FROM gets confused by C<Socket>
+    ABSTRACT      => 'networking constants and support functions',
    ($Config{libs} =~ /(-lsocks\S*)/ ? (LIBS => [ "$1" ] ) : ()),
-    XSPROTOARG   => '-noprototypes', 		# XXX remove later?
-    realclean => {FILES=> 'const-c.inc const-xs.inc'},
-    DEFINE       => join( " ", map { "-D$_" } @DEFINES ),
+    XSPROTOARG    => '-noprototypes', 		# XXX remove later?
+    realclean     => {FILES=> 'const-c.inc const-xs.inc'},
+    DEFINE        => join( " ", map { "-D$_" } @DEFINES ),
     CONFIGURE_REQUIRES => {
 	'ExtUtils::CBuilder' => 0,
 	'ExtUtils::Constant' => '0.23',
     },
     MIN_PERL_VERSION => '5.006001',
+    LICENSE       => 'perl',
     %makefile_args,
 );
 my @names = (
@@ -175,10 +178,10 @@ my @names = (
 	SOMAXCONN
 
 	SO_ACCEPTCONN SO_ATTACH_FILTER SO_BACKLOG SO_BROADCAST SO_CHAMELEON
-	SO_DEBUG SO_DETACH_FILTER SO_DGRAM_ERRIND SO_DONTLINGER SO_DONTROUTE
-	SO_ERROR SO_FAMILY SO_KEEPALIVE SO_LINGER SO_OOBINLINE SO_PASSCRED
-	SO_PASSIFNAME SO_PEERCRED SO_PROTOCOL SO_PROTOTYPE SO_RCVBUF
-	SO_RCVLOWAT SO_RCVTIMEO SO_REUSEADDR SO_REUSEPORT
+	SO_DEBUG SO_DETACH_FILTER SO_DGRAM_ERRIND SO_DOMAIN SO_DONTLINGER
+	SO_DONTROUTE SO_ERROR SO_FAMILY SO_KEEPALIVE SO_LINGER SO_OOBINLINE
+	SO_PASSCRED SO_PASSIFNAME SO_PEERCRED SO_PROTOCOL SO_PROTOTYPE
+	SO_RCVBUF SO_RCVLOWAT SO_RCVTIMEO SO_REUSEADDR SO_REUSEPORT
 	SO_SECURITY_AUTHENTICATION SO_SECURITY_ENCRYPTION_NETWORK
 	SO_SECURITY_ENCRYPTION_TRANSPORT SO_SNDBUF SO_SNDLOWAT SO_SNDTIMEO
 	SO_STATE SO_TYPE SO_USELOOPBACK SO_XOPEN SO_XSE
diff --git a/cpan/Socket/Socket.pm b/cpan/Socket/Socket.pm
index c6420e1..3b8ea73 100644
--- a/cpan/Socket/Socket.pm
+++ b/cpan/Socket/Socket.pm
@@ -3,7 +3,7 @@ package Socket;
 use strict;
 { use 5.006001; }
 
-our $VERSION = '1.98';
+our $VERSION = '2.000';
 
 =head1 NAME
 
@@ -74,7 +74,7 @@ provided will depend on the OS and headers found at compile-time.
 =head2 PF_INET, PF_INET6, PF_UNIX, ...
 
 Protocol family constants to use as the first argument to socket() or the
-value of the C<SO_FAMILY> socket option.
+value of the C<SO_DOMAIN> or C<SO_FAMILY> socket option.
 
 =head2 AF_INET, AF_INET6, AF_UNIX, ...
 
@@ -675,10 +675,10 @@ our @EXPORT = qw(
 	SOL_SOCKET
 
 	SO_ACCEPTCONN SO_ATTACH_FILTER SO_BACKLOG SO_BROADCAST SO_CHAMELEON
-	SO_DEBUG SO_DETACH_FILTER SO_DGRAM_ERRIND SO_DONTLINGER SO_DONTROUTE
-	SO_ERROR SO_FAMILY SO_KEEPALIVE SO_LINGER SO_OOBINLINE SO_PASSCRED
-	SO_PASSIFNAME SO_PEERCRED SO_PROTOCOL SO_PROTOTYPE SO_RCVBUF
-	SO_RCVLOWAT SO_RCVTIMEO SO_REUSEADDR SO_REUSEPORT
+	SO_DEBUG SO_DETACH_FILTER SO_DGRAM_ERRIND SO_DOMAIN SO_DONTLINGER
+	SO_DONTROUTE SO_ERROR SO_FAMILY SO_KEEPALIVE SO_LINGER SO_OOBINLINE
+	SO_PASSCRED SO_PASSIFNAME SO_PEERCRED SO_PROTOCOL SO_PROTOTYPE
+	SO_RCVBUF SO_RCVLOWAT SO_RCVTIMEO SO_REUSEADDR SO_REUSEPORT
 	SO_SECURITY_AUTHENTICATION SO_SECURITY_ENCRYPTION_NETWORK
 	SO_SECURITY_ENCRYPTION_TRANSPORT SO_SNDBUF SO_SNDLOWAT SO_SNDTIMEO
 	SO_STATE SO_TYPE SO_USELOOPBACK SO_XOPEN SO_XSE
diff --git a/cpan/Socket/Socket.xs b/cpan/Socket/Socket.xs
index 665553c..3999c4b 100644
--- a/cpan/Socket/Socket.xs
+++ b/cpan/Socket/Socket.xs
@@ -707,15 +707,21 @@ unpack_sockaddr_un(sun_sv)
 	STRLEN sockaddrlen;
 	char * sun_ad = SvPVbyte(sun_sv,sockaddrlen);
 	int addr_len;
-#   ifndef __linux__
+#   ifdef __linux__
 	/* On Linux sockaddrlen on sockets returned by accept, recvfrom,
 	   getpeername and getsockname is not equal to sizeof(addr). */
+	if (sockaddrlen < sizeof(addr)) {
+	  Copy(sun_ad, &addr, sockaddrlen, char);
+	  Zero(&addr+sockaddrlen, sizeof(addr)-sockaddrlen, char);
+	} else {
+	  Copy(sun_ad, &addr, sizeof(addr), char);
+	}
+#   else
 	if (sockaddrlen != sizeof(addr))
 		croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
 		      "Socket::unpack_sockaddr_un", (UV)sockaddrlen, (UV)sizeof(addr));
-#   endif
-
 	Copy(sun_ad, &addr, sizeof(addr), char);
+#   endif
 
 	if (addr.sun_family != AF_UNIX)
 		croak("Bad address family for %s, got %d, should be %d",
@@ -879,7 +885,12 @@ inet_ntop(af, ip_address_sv)
 	struct in_addr addr;
 	char str[INET_ADDRSTRLEN];
 #endif
-	char *ip_address = SvPV(ip_address_sv, addrlen);
+	char *ip_address;
+
+	if (DO_UTF8(ip_address_sv) && !sv_utf8_downgrade(ip_address_sv, 1))
+		croak("Wide character in %s", "Socket::inet_ntop");
+
+	ip_address = SvPV(ip_address_sv, addrlen);
 
 	struct_size = sizeof(addr);
 
@@ -912,17 +923,23 @@ inet_pton(af, host)
 	CODE:
 #ifdef HAS_INETPTON
 	int ok;
+	int addrlen = 0;
 #ifdef AF_INET6
 	struct in6_addr ip_address;
 #else
 	struct in_addr ip_address;
 #endif
 
-	if (af != AF_INET
+	switch(af) {
+	  case AF_INET:
+	    addrlen = 4;
+	    break;
 #ifdef AF_INET6
-	    && af != AF_INET6
+	  case AF_INET6:
+	    addrlen = 16;
+	    break;
 #endif
-	   ) {
+	  default:
 		croak("Bad address family for %s, got %d, should be"
 #ifdef AF_INET6
 		      " either AF_INET or AF_INET6",
@@ -935,7 +952,7 @@ inet_pton(af, host)
 
 	ST(0) = sv_newmortal();
 	if (ok) {
-		sv_setpvn( ST(0), (char *)&ip_address, sizeof(ip_address) );
+		sv_setpvn( ST(0), (char *)&ip_address, addrlen);
 	}
 #else
 	ST(0) = (SV*)not_here("inet_pton");
diff --git a/cpan/Socket/t/Socket.t b/cpan/Socket/t/Socket.t
index b1c6748..a73f6d4 100644
--- a/cpan/Socket/t/Socket.t
+++ b/cpan/Socket/t/Socket.t
@@ -11,7 +11,7 @@ BEGIN {
 }
 	
 use Socket qw(:all);
-use Test::More tests => 26;
+use Test::More tests => 6;
 
 $has_echo = $^O ne 'MSWin32';
 $alarmed = 0;
@@ -100,84 +100,3 @@ SKIP: {
 	ok(($read == 0 || $buff eq "olleh"), "PF_INET echo INADDR_LOOPBACK reply");
     }
 }
-
-# warnings
-{
-    my $w = 0;
-    local $SIG{__WARN__} = sub {
-	++ $w if $_[0] =~ /^6-ARG sockaddr_in call is deprecated/ ;
-    };
-
-    no warnings 'Socket';
-    sockaddr_in(1,2,3,4,5,6) ;
-    is($w, 0, "sockaddr_in deprecated form doesn't warn without lexical warnings");
-
-    use warnings 'Socket';
-    sockaddr_in(1,2,3,4,5,6) ;
-    is($w, 1, "sockaddr_in deprecated form warns with lexical warnings");
-}
-
-# Test that whatever we give into pack/unpack_sockaddr retains
-# the value thru the entire chain.
-is(inet_ntoa((unpack_sockaddr_in(pack_sockaddr_in(100,inet_aton("10.250.230.10"))))[1]), '10.250.230.10',
-   'inet_aton->pack_sockaddr_in->unpack_sockaddr_in->inet_ntoa roundtrip');
-
-is(inet_ntoa(inet_aton("10.20.30.40")), "10.20.30.40", 'inet_aton->inet_ntoa roundtrip');
-is(inet_ntoa(v10.20.30.40), "10.20.30.40", 'inet_ntoa from v-string');
-
-{
-    my ($port,$addr) = unpack_sockaddr_in(pack_sockaddr_in(100,v10.10.10.10));
-    is($port, 100, 'pack_sockaddr_in->unpack_sockaddr_in port');
-    is(inet_ntoa($addr), "10.10.10.10", 'pack_sockaddr_in->unpack_sockaddr_in addr');
-}
-
-{
-    local $@;
-    eval { inet_ntoa(v10.20.30.400) };
-    like($@, qr/^Wide character in Socket::inet_ntoa at/, 'inet_ntoa warns about wide characters');
-}
-
-is(sockaddr_family(pack_sockaddr_in(100,inet_aton("10.250.230.10"))), AF_INET, 'pack_sockaddr_in->sockaddr_family');
-
-{
-    local $@;
-    eval { sockaddr_family("") };
-    like($@, qr/^Bad arg length for Socket::sockaddr_family, length is 0, should be at least \d+/, 'sockaddr_family warns about argument length');
-}
-
-SKIP: {
-    # see if we can handle abstract sockets
-    skip "Abstract AF_UNIX paths unsupported", 2 unless $^O eq "linux";
-
-    my $test_abstract_socket = chr(0) . '/org/perl/hello'. chr(0) . 'world';
-    my $addr = sockaddr_un ($test_abstract_socket);
-    my ($path) = sockaddr_un ($addr);
-    is($path, $test_abstract_socket, 'sockaddr_un can handle abstract AF_UNIX paths');
-
-    # see if we calculate the address structure length correctly
-    is(length ($test_abstract_socket) + 2, length $addr, 'sockaddr_un abstract address length');
-}
-
-SKIP: {
-    skip "No inet_ntop", 3 unless defined eval { inet_pton(AF_INET, "10.20.30.40") };
-
-    is(inet_ntop(AF_INET, inet_pton(AF_INET, "10.20.30.40")), "10.20.30.40", 'inet_pton->inet_ntop AF_INET roundtrip');
-    is(inet_ntop(AF_INET, inet_aton("10.20.30.40")), "10.20.30.40", 'inet_aton->inet_ntop AF_INET roundtrip');
-
-    SKIP: {
-	skip "No AF_INET6", 1 unless defined eval { AF_INET6() };
-	is(lc inet_ntop(AF_INET6, inet_pton(AF_INET6, "2001:503:BA3E::2:30")), "2001:503:ba3e::2:30", 'inet_pton->inet_ntop AF_INET6 roundtrip');
-    }
-}
-
-SKIP: {
-    skip "No AF_INET6", 5 unless defined eval { AF_INET6() };
-    skip "Cannot pack_sockaddr_in6()", 5 unless my $sin6 = eval { pack_sockaddr_in6(0x1234, "0123456789abcdef", 0, 89) };
-
-    is(sockaddr_family($sin6), AF_INET6, 'sockaddr_family of pack_sockaddr_in6');
-
-    is((unpack_sockaddr_in6($sin6))[0], 0x1234,             'pack_sockaddr_in6->unpack_sockaddr_in6 port');
-    is((unpack_sockaddr_in6($sin6))[1], "0123456789abcdef", 'pack_sockaddr_in6->unpack_sockaddr_in6 addr');
-    is((unpack_sockaddr_in6($sin6))[2], 0,                  'pack_sockaddr_in6->unpack_sockaddr_in6 scope_id');
-    is((unpack_sockaddr_in6($sin6))[3], 89,                 'pack_sockaddr_in6->unpack_sockaddr_in6 flowinfo');
-}
diff --git a/cpan/Socket/t/sockaddr.t b/cpan/Socket/t/sockaddr.t
new file mode 100644
index 0000000..63cce24
--- /dev/null
+++ b/cpan/Socket/t/sockaddr.t
@@ -0,0 +1,133 @@
+#!./perl
+
+use strict;
+use warnings;
+
+use Socket qw(
+    AF_INET
+    inet_ntoa inet_aton inet_ntop inet_pton
+    pack_sockaddr_in unpack_sockaddr_in sockaddr_in
+    sockaddr_family
+    sockaddr_un
+);
+use Test::More tests => 31;
+
+# inet_aton, inet_ntoa
+{
+    is(join(".", unpack("C*",inet_aton("10.20.30.40"))), "10.20.30.40", 'inet_aton returns packed bytes');
+
+    is(inet_ntoa(v10.20.30.40), "10.20.30.40", 'inet_ntoa from v-string');
+
+    is(inet_ntoa(inet_aton("10.20.30.40")), "10.20.30.40", 'inet_aton->inet_ntoa roundtrip');
+
+    local $@;
+    eval { inet_ntoa(v10.20.30.400) };
+    like($@, qr/^Wide character in Socket::inet_ntoa at/, 'inet_ntoa warns about wide characters');
+}
+
+# inet_ntop, inet_pton
+SKIP: {
+    skip "No inet_ntop", 5 unless defined eval { inet_pton(AF_INET, "10.20.30.40") };
+
+    is(join(".", unpack("C*",inet_pton(AF_INET, "10.20.30.40"))), "10.20.30.40", 'inet_pton AF_INET returns packed bytes');
+
+    is(inet_ntop(AF_INET, v10.20.30.40), "10.20.30.40", 'inet_ntop AF_INET from v-string');
+
+    is(inet_ntop(AF_INET, inet_pton(AF_INET, "10.20.30.40")), "10.20.30.40", 'inet_pton->inet_ntop AF_INET roundtrip');
+    is(inet_ntop(AF_INET, inet_aton("10.20.30.40")), "10.20.30.40", 'inet_aton->inet_ntop AF_INET roundtrip');
+
+    local $@;
+    eval { inet_ntop(AF_INET, v10.20.30.400) };
+    like($@, qr/^Wide character in Socket::inet_ntop at/, 'inet_ntop warns about wide characters');
+}
+
+SKIP: {
+    skip "No AF_INET6", 3 unless my $AF_INET6 = eval { Socket::AF_INET6() };
+    skip "No inet_ntop", 3 unless defined eval { inet_pton($AF_INET6, "2460::1") };
+
+    is(uc unpack("H*",inet_pton($AF_INET6, "2001:503:BA3E::2:30")), "20010503BA3E00000000000000020030",
+        'inet_pton AF_INET6 returns packed bytes');
+
+    is(uc inet_ntop($AF_INET6, "\x20\x01\x05\x03\xBA\x3E\x00\x00\x00\x00\x00\x00\x00\x02\x00\x30"), "2001:503:BA3E::2:30",
+        'inet_ntop AF_INET6 from octet string');
+
+    is(lc inet_ntop($AF_INET6, inet_pton($AF_INET6, "2001:503:BA3E::2:30")), "2001:503:ba3e::2:30",
+        'inet_pton->inet_ntop AF_INET6 roundtrip');
+}
+
+# sockaddr_family
+{
+    local $@;
+    eval { sockaddr_family("") };
+    like($@, qr/^Bad arg length for Socket::sockaddr_family, length is 0, should be at least \d+/, 'sockaddr_family warns about argument length');
+}
+
+# pack_sockaddr_in, unpack_sockaddr_in
+# sockaddr_in
+{
+    my $sin = pack_sockaddr_in 100, inet_aton("10.20.30.40");
+    ok(defined $sin, 'pack_sockaddr_in defined');
+
+    is(sockaddr_family($sin), AF_INET, 'sockaddr_family of pack_sockaddr_in' );
+
+    is(          (unpack_sockaddr_in($sin))[0] , 100,           'pack_sockaddr_in->unpack_sockaddr_in port');
+    is(inet_ntoa((unpack_sockaddr_in($sin))[1]), "10.20.30.40", 'pack_sockaddr_in->unpack_sockaddr_in addr');
+
+    is_deeply( [ sockaddr_in($sin) ], [ unpack_sockaddr_in($sin) ],
+        'sockaddr_in in list context unpacks' );
+
+    is(sockaddr_family(scalar sockaddr_in(200,v10.30.50.70)), AF_INET,
+        'sockaddr_in in scalar context packs');
+}
+
+# pack_sockaddr_in6, unpack_sockaddr_in6
+# sockaddr_in6
+SKIP: {
+    skip "No AF_INET6", 8 unless my $AF_INET6 = eval { Socket::AF_INET6() };
+    skip "Cannot pack_sockaddr_in6()", 8 unless my $sin6 = eval { Socket::pack_sockaddr_in6(0x1234, "0123456789abcdef", 0, 89) };
+
+    ok(defined $sin6, 'pack_sockaddr_in6 defined');
+
+    is(sockaddr_family($sin6), $AF_INET6, 'sockaddr_family of pack_sockaddr_in6');
+
+    is((Socket::unpack_sockaddr_in6($sin6))[0], 0x1234,             'pack_sockaddr_in6->unpack_sockaddr_in6 port');
+    is((Socket::unpack_sockaddr_in6($sin6))[1], "0123456789abcdef", 'pack_sockaddr_in6->unpack_sockaddr_in6 addr');
+    is((Socket::unpack_sockaddr_in6($sin6))[2], 0,                  'pack_sockaddr_in6->unpack_sockaddr_in6 scope_id');
+    is((Socket::unpack_sockaddr_in6($sin6))[3], 89,                 'pack_sockaddr_in6->unpack_sockaddr_in6 flowinfo');
+
+    is_deeply( [ Socket::sockaddr_in6($sin6) ], [ Socket::unpack_sockaddr_in6($sin6) ],
+        'sockaddr_in6 in list context unpacks' );
+
+    is(sockaddr_family(scalar Socket::sockaddr_in6(0x1357, "02468ace13579bdf")), $AF_INET6,
+        'sockaddr_in6 in scalar context packs' );
+}
+
+# sockaddr_un
+SKIP: {
+    # see if we can handle abstract sockets
+    skip "Abstract AF_UNIX paths unsupported", 2 unless $^O eq "linux";
+
+    my $test_abstract_socket = chr(0) . '/org/perl/hello'. chr(0) . 'world';
+    my $addr = sockaddr_un ($test_abstract_socket);
+    my ($path) = sockaddr_un ($addr);
+    is($path, $test_abstract_socket, 'sockaddr_un can handle abstract AF_UNIX paths');
+
+    # see if we calculate the address structure length correctly
+    is(length ($test_abstract_socket) + 2, length $addr, 'sockaddr_un abstract address length');
+}
+
+# warnings
+{
+    my $w = 0;
+    local $SIG{__WARN__} = sub {
+	++ $w if $_[0] =~ /^6-ARG sockaddr_in call is deprecated/ ;
+    };
+
+    no warnings 'Socket';
+    sockaddr_in(1,2,3,4,5,6) ;
+    is($w, 0, "sockaddr_in deprecated form doesn't warn without lexical warnings");
+
+    use warnings 'Socket';
+    sockaddr_in(1,2,3,4,5,6) ;
+    is($w, 1, "sockaddr_in deprecated form warns with lexical warnings");
+}
diff --git a/cpan/Unicode-Normalize/Changes b/cpan/Unicode-Normalize/Changes
index 789414c..88df63c 100644
--- a/cpan/Unicode-Normalize/Changes
+++ b/cpan/Unicode-Normalize/Changes
@@ -1,5 +1,8 @@
 Revision history for Perl extension Unicode::Normalize.
 
+1.14  Sat Mar 10 13:34:53 2012
+    - avoid "use Test".
+
 1.13  Mon Jul 25 21:07:49 2011
     - tried fixing the tarball with world writable files.
       ( http://www.perlmonks.org/?node_id=731935 )
diff --git a/cpan/Unicode-Normalize/Makefile.PL b/cpan/Unicode-Normalize/Makefile.PL
index cf0644b..f0b94e7 100644
--- a/cpan/Unicode-Normalize/Makefile.PL
+++ b/cpan/Unicode-Normalize/Makefile.PL
@@ -28,7 +28,6 @@ WriteMakefile(
 	File::Copy	=> 0,
 	File::Spec	=> 0,
 	strict		=> 0,
-	Test		=> 0,
 	warnings	=> 0,
     },
 );
diff --git a/cpan/Unicode-Normalize/Normalize.pm b/cpan/Unicode-Normalize/Normalize.pm
index 906f219..c580f48 100644
--- a/cpan/Unicode-Normalize/Normalize.pm
+++ b/cpan/Unicode-Normalize/Normalize.pm
@@ -13,7 +13,7 @@ use Carp;
 
 no warnings 'utf8';
 
-our $VERSION = '1.13';
+our $VERSION = '1.14';
 our $PACKAGE = __PACKAGE__;
 
 our @EXPORT = qw( NFC NFD NFKC NFKD );
@@ -550,6 +550,7 @@ normalization implemented by this module depends on your perl's version.
     5.8.9, 5.10.1         5.1.0
     5.12.0-5.12.3         5.2.0
        5.14.0             6.0.0
+    5.16.0 (to be)        6.1.0
 
 =item Correction of decomposition mapping
 
@@ -577,7 +578,7 @@ lower than 4.1.0.
 
 SADAHIRO Tomoyuki <SADAHIRO@cpan.org>
 
-Copyright(C) 2001-2011, SADAHIRO Tomoyuki. Japan. All rights reserved.
+Copyright(C) 2001-2012, SADAHIRO Tomoyuki. Japan. All rights reserved.
 
 This module is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.
diff --git a/cpan/Unicode-Normalize/README b/cpan/Unicode-Normalize/README
index 7ba3701..958df4e 100644
--- a/cpan/Unicode-Normalize/README
+++ b/cpan/Unicode-Normalize/README
@@ -1,4 +1,4 @@
-Unicode/Normalize version 1.13
+Unicode/Normalize version 1.14
 ===================================
 
 Unicode::Normalize - Unicode Normalization Forms
@@ -82,7 +82,7 @@ COPYRIGHT AND LICENSE
 
 SADAHIRO Tomoyuki <SADAHIRO@cpan.org>
 
-Copyright(C) 2001-2011, SADAHIRO Tomoyuki. Japan. All rights reserved.
+Copyright(C) 2001-2012, SADAHIRO Tomoyuki. Japan. All rights reserved.
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/Unicode-Normalize/t/fcdc.t b/cpan/Unicode-Normalize/t/fcdc.t
index 1cc0db1..e62c4ea 100644
--- a/cpan/Unicode-Normalize/t/fcdc.t
+++ b/cpan/Unicode-Normalize/t/fcdc.t
@@ -16,12 +16,22 @@ BEGIN {
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 70 };
+BEGIN { $| = 1; print "1..70\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
+
+ok(1);
 
 sub _pack_U { Unicode::Normalize::pack_U(@_) }
 sub hexU { _pack_U map hex, split ' ', shift }
@@ -39,6 +49,8 @@ ok(normalize('FCC', ""), "");
 ok(normalize('FCC', "A"), "A");
 ok(normalize('FCD', "A"), "A");
 
+# 9
+
 # if checkFCD is YES, the return value from FCD should be same as the original
 ok(FCD(hexU("00C5")),		hexU("00C5"));		# A with ring above
 ok(FCD(hexU("0041 030A")),	hexU("0041 030A"));	# A+ring
@@ -52,6 +64,8 @@ ok(normalize('FCD', hexU("0041 0327 030A")),	hexU("0041 0327 030A"));
 ok(normalize('FCD', hexU("AC01 1100 1161")),	hexU("AC01 1100 1161"));
 ok(normalize('FCD', hexU("212B F900")),		hexU("212B F900"));
 
+# 19
+
 # if checkFCD is MAYBE or NO, FCD returns NFD (this behavior isn't documented)
 ok(FCD(hexU("00C5 0327")),	hexU("0041 0327 030A"));
 ok(FCD(hexU("0041 030A 0327")),	hexU("0041 0327 030A"));
@@ -63,6 +77,8 @@ ok(normalize('FCD', hexU("0041 030A 0327")),	hexU("0041 0327 030A"));
 ok(normalize('FCD', hexU("00C5 0327")),		NFD(hexU("00C5 0327")));
 ok(normalize('FCD', hexU("0041 030A 0327")),	NFD(hexU("0041 030A 0327")));
 
+# 27
+
 ok(answer(checkFCD('')), 'YES');
 ok(answer(checkFCD('A')), 'YES');
 ok(answer(checkFCD("\x{030A}")), 'YES');  # 030A;COMBINING RING ABOVE
@@ -83,6 +99,8 @@ ok(answer(checkFCC(hexU("1EA7 05AE 0315 0062"))), "NO");
 ok(answer(check('FCD', hexU("1EA7 05AE 0315 0062"))), "NO");
 ok(answer(check('FCC', hexU("1EA7 05AE 0315 0062"))), "NO");
 
+# 45
+
 ok(FCC(hexU("00C5 0327")), hexU("0041 0327 030A"));
 ok(FCC(hexU("0045 0304 0300")), "\x{1E14}");
 ok(FCC("\x{1100}\x{1161}\x{1100}\x{1173}\x{11AF}"), "\x{AC00}\x{AE00}");
@@ -97,6 +115,8 @@ ok(FCC("\x{1100}\x{1161}\x{0300}"), "\x{AC00}\x{0300}");
 ok(FCC("\x{0B47}\x{300}\x{0B3E}\x{327}"), "\x{0B47}\x{300}\x{0B3E}\x{327}");
 ok(FCC("\x{1100}\x{300}\x{1161}\x{327}"), "\x{1100}\x{300}\x{1161}\x{327}");
 
+# 57
+
 ok(answer(checkFCC('')), 'YES');
 ok(answer(checkFCC('A')), 'YES');
 ok(answer(checkFCC("\x{030A}")), 'MAYBE');  # 030A;COMBINING RING ABOVE
@@ -111,3 +131,5 @@ ok(answer(checkFCC("\x{212B}\x{F900}")), 'NO'); # compat
 ok(answer(checkFCC("\x{212B}\x{0327}")), 'NO'); # compat
 ok(answer(checkFCC("\x{0327}\x{212B}")), 'NO'); # compat
 
+# 70
+
diff --git a/cpan/Unicode-Normalize/t/form.t b/cpan/Unicode-Normalize/t/form.t
index 27cd177..c9b4249 100644
--- a/cpan/Unicode-Normalize/t/form.t
+++ b/cpan/Unicode-Normalize/t/form.t
@@ -16,12 +16,22 @@ BEGIN {
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 37 };
+BEGIN { $| = 1; print "1..37\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
+
+ok(1);
 
 sub answer { defined $_[0] ? $_[0] ? "YES" : "NO" : "MAYBE" }
 
diff --git a/cpan/Unicode-Normalize/t/func.t b/cpan/Unicode-Normalize/t/func.t
index f18835e..d8d8d95 100644
--- a/cpan/Unicode-Normalize/t/func.t
+++ b/cpan/Unicode-Normalize/t/func.t
@@ -16,12 +16,22 @@ BEGIN {
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 217 };
+BEGIN { $| = 1; print "1..217\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
+
+ok(1);
 
 sub _pack_U { Unicode::Normalize::pack_U(@_) }
 sub hexU { _pack_U map hex, split ' ', shift }
@@ -66,6 +76,8 @@ ok(getCompat(0xAC00), _pack_U(0x1100, 0x1161));
 ok(getCompat(0xAE00), _pack_U(0x1100, 0x1173, 0x11AF));
 ok(getCompat(0xFA2D), _pack_U(0x9DB4));
 
+# 34
+
 ok(getComposite(   0,    0), undef);
 ok(getComposite(   0, 0x29), undef);
 ok(getComposite(0x29,    0), undef);
@@ -139,13 +151,13 @@ ok(decompose(hexU("1E14 AC01"), 1), hexU("0045 0304 0300 1100 1161 11A8"));
 ok(decompose(hexU("AC00 AE00"), 1), hexU("1100 1161 1100 1173 11AF"));
 ok(decompose(hexU("304C FF76"), 1), hexU("304B 3099 30AB"));
 
-# 81
-
 # don't modify the source
 my $sDec = "\x{FA19}";
 ok(decompose($sDec), "\x{795E}");
 ok($sDec, "\x{FA19}");
 
+# 83
+
 ok(reorder(""), "");
 ok(reorder("A"), "A");
 ok(reorder(hexU("0041 0300 0315 0313 031b 0061")),
@@ -158,6 +170,8 @@ my $sReord = "\x{3000}\x{300}\x{31b}";
 ok(reorder($sReord), "\x{3000}\x{31b}\x{300}");
 ok($sReord, "\x{3000}\x{300}\x{31b}");
 
+# 89
+
 ok(compose(""), "");
 ok(compose("A"), "A");
 ok(compose(hexU("0061 0300")),      hexU("00E0"));
@@ -244,6 +258,8 @@ ok(normalize('NFC', $1), "012");
 ok(normalize('NFC', $2), "ABC");
  # s/^NF// in normalize() must not prevent using $1, $&, etc.
 
+# 150
+
 # a string with initial zero should be treated like a number
 
 # LATIN CAPITAL LETTER A WITH GRAVE
@@ -254,8 +270,6 @@ ok(getComposite("065", "0768"), 192);
 ok(isNFD_NO ("0192"));
 ok(isNFKD_NO("0192"));
 
-# 156
-
 # DEVANAGARI LETTER QA
 ok(isExclusion("02392"));
 ok(isComp_Ex  ("02392"));
@@ -307,6 +321,8 @@ ok(NFKC($str_cc22), $str_cc22);
 ok(FCD($str_cc22), $str_cc22);
 ok(FCC($str_cc22), $str_cc22);
 
+# 192
+
 # string with 40 combining characters of the same class: (0x300..0x313)x2
 my $str_cc40 = _pack_U(0x3041, 0x300..0x313, 0x300..0x313, 0x3042);
 ok(decompose($str_cc40), $str_cc40);
@@ -357,3 +373,4 @@ ok($preUnicode3_2 xor isExclusion(0x2ADC));
 ok($preUnicode3_2 xor isComp_Ex  (0x2ADC));
 
 # 217
+
diff --git a/cpan/Unicode-Normalize/t/illegal.t b/cpan/Unicode-Normalize/t/illegal.t
index 976e509..bcd9517 100644
--- a/cpan/Unicode-Normalize/t/illegal.t
+++ b/cpan/Unicode-Normalize/t/illegal.t
@@ -35,16 +35,25 @@ BEGIN {
     }
 }
 
-use Test;
 use strict;
 use warnings;
 
-BEGIN { plan tests => 112 };
+BEGIN { $| = 1; print "1..113\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+ok(1);
 
 #########################
 
 no warnings qw(utf8);
-# To avoid warning in Test.pm, EXPR in ok(EXPR) must be boolean.
 
 for my $u (0xD800, 0xDFFF, 0xFDD0, 0xFDEF, 0xFEFF, 0xFFFE, 0xFFFF,
 	   0x1FFFF, 0x10FFFF, 0x110000, 0x7FFFFFFF)
diff --git a/cpan/Unicode-Normalize/t/norm.t b/cpan/Unicode-Normalize/t/norm.t
index 5d93747..1442c30 100644
--- a/cpan/Unicode-Normalize/t/norm.t
+++ b/cpan/Unicode-Normalize/t/norm.t
@@ -16,12 +16,22 @@ BEGIN {
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 64 };
+BEGIN { $| = 1; print "1..64\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(normalize);
-ok(1); # If we made it this far, we're ok.
+
+ok(1);
 
 sub _pack_U   { Unicode::Normalize::pack_U(@_) }
 sub _unpack_U { Unicode::Normalize::unpack_U(@_) }
@@ -48,6 +58,8 @@ ok(normalize('NFC', "A"), "A");
 ok(normalize('NFKD',"A"), "A");
 ok(normalize('NFKC',"A"), "A");
 
+# 17
+
 # don't modify the source
 my $sNFD = "\x{FA19}";
 ok(normalize('NFD', $sNFD), "\x{795E}");
@@ -65,6 +77,8 @@ my $sNFKC = "\x{FA26}";
 ok(normalize('NFKC', $sNFKC), "\x{90FD}");
 ok($sNFKC, "\x{FA26}");
 
+# 25
+
 sub hexNFC {
   join " ", map sprintf("%04X", $_),
   _unpack_U normalize 'C', _pack_U map hex, split ' ', shift;
@@ -100,14 +114,14 @@ ok(hexNFC("AC00 11A9"), "AC02");
 ok(hexNFC("AC00 11C2"), "AC1B");
**** PATCH TRUNCATED AT 2000 LINES -- 352 NOT SHOWN ****

--
Perl5 Master Repository



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About