Updated autodie to CPAN version 2.11
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Fri, 8 Jun 2012 12:30:42 +0000 (13:30 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sun, 17 Jun 2012 20:26:49 +0000 (21:26 +0100)
  [DELTA]

  2.11
        * DOCS: Explicitly documented that autodie is context
          unaware.  (Thanks to chromatic.)

        * TEST: Multi-arg open tests are skipped on VMS.
          (Thanks to Craig A. Berry.)

        * TEST BUGFIX recv.t shouldn't assume STDIN is a file handle.
          (Thanks to Todd Rinaldo)

        * TEST: Fixed compatibility with Carp 1.25.
          (Thanks to Olivier MenguĂ©.)

        * INTERNAL: Exception classes are loaded more safely.
          (Thanks to Schwern)

Porting/Maintainers.pl
cpan/autodie/lib/Fatal.pm
cpan/autodie/lib/autodie.pm
cpan/autodie/lib/autodie/exception.pm
cpan/autodie/lib/autodie/exception/system.pm
cpan/autodie/lib/autodie/hints.pm
cpan/autodie/t/backcompat.t
cpan/autodie/t/recv.t

index 5d28d7f..684b704 100755 (executable)
@@ -229,7 +229,7 @@ use File::Glob qw(:case);
 
     'autodie' => {
         'MAINTAINER'   => 'pjf',
-        'DISTRIBUTION' => 'PJF/autodie-2.10.tar.gz',
+        'DISTRIBUTION' => 'PJF/autodie-2.11.tar.gz',
         'FILES'        => q[cpan/autodie],
         'EXCLUDED'     => [
             qr{^inc/Module/},
index aabdf78..3526fe0 100644 (file)
@@ -40,7 +40,7 @@ use constant ERROR_58_HINTS => q{Non-subroutine %s hints for %s are not supporte
 use constant MIN_IPC_SYS_SIMPLE_VER => 0.12;
 
 # All the Fatal/autodie modules share the same version number.
-our $VERSION = '2.10';
+our $VERSION = '2.11';
 
 our $Debug ||= 0;
 
@@ -116,6 +116,7 @@ my %TAGS = (
     ':2.08'  => [qw(:default)],
     ':2.09'  => [qw(:default)],
     ':2.10'  => [qw(:default)],
+    ':2.11'  => [qw(:default)],
 );
 
 # chmod was only introduced in 2.07
@@ -1238,7 +1239,9 @@ sub exception_class { return "autodie::exception" };
 
             {
                 local $@;   # We can't clobber $@, it's wrong!
-                eval "require $exception_class"; ## no critic
+                my $pm_file = $exception_class . ".pm";
+                $pm_file =~ s{ (?: :: | ' ) }{/}gx;
+                eval { require $pm_file };
                 $E = $@;    # Save $E despite ending our local.
             }
 
index cb14fb0..95a940c 100644 (file)
@@ -8,7 +8,7 @@ our @ISA = qw(Fatal);
 our $VERSION;
 
 BEGIN {
-    $VERSION = '2.10';
+    $VERSION = '2.11';
 }
 
 use constant ERROR_WRONG_FATAL => q{
@@ -334,6 +334,10 @@ the end of the current block with C<no autodie>.
 To disable autodie for only a single function (eg, open)
 use C<no autodie qw(open)>.
 
+C<autodie> performs no checking of called context to determine whether to throw
+an exception; the explicitness of error handling with C<autodie> is a deliberate
+feature.
+
 =item No user hints defined for %s
 
 You've insisted on hints for user-subroutines, either by pre-pending
index 14d5cb0..474d929 100644 (file)
@@ -14,7 +14,7 @@ use overload
 
 use if ($] >= 5.010), overload => '~~'  => "matches";
 
-our $VERSION = '2.10';
+our $VERSION = '2.11';
 
 my $PACKAGE = __PACKAGE__;  # Useful to have a scalar for hash keys.
 
index 747fea7..a3557d3 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 use base 'autodie::exception';
 use Carp qw(croak);
 
-our $VERSION = '2.10';
+our $VERSION = '2.11';
 
 my $PACKAGE = __PACKAGE__;
 
index 89b3bc8..3758eca 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 use constant PERL58 => ( $] < 5.009 );
 
-our $VERSION = '2.10';
+our $VERSION = '2.11';
 
 =head1 NAME
 
index 174d6da..b26c421 100644 (file)
@@ -8,7 +8,7 @@ eval {
     open(my $fh, '<', NO_SUCH_FILE);
 };
 
-my $old_msg = qr{Can't open\(GLOB\(0x[0-9a-f]+\), <, xyzzy_this_file_is_not_here\): .* at \(eval \d+\)(?:\[.*?\])? line \d+\.\s+main::__ANON__\('GLOB\(0x[0-9a-f]+\)',\s*'<',\s*'xyzzy_this_file_is_not_here'\) called at \S+ line \d+\s+eval \Q{...}\E called at \S+ line \d+};
+my $old_msg = qr{Can't open\(GLOB\(0x[0-9a-f]+\), <, xyzzy_this_file_is_not_here\): .* at \(eval \d+\)(?:\[.*?\])? line \d+\.?\s+main::__ANON__\('GLOB\(0x[0-9a-f]+\)',\s*'<',\s*'xyzzy_this_file_is_not_here'\) called at \S+ line \d+\s+eval \Q{...}\E called at \S+ line \d+};
 
 like($@,$old_msg,"Backwards compat ugly messages");
 is(ref($@),"", "Exception is a string, not an object");
index cfaa679..f67b2f8 100644 (file)
@@ -38,12 +38,15 @@ SKIP: {
 }
 
 eval {
-    # STDIN isn't a socket, so this should fail.
-    recv(STDIN,$buffer,1,0);
+    my $string = "now is the time...";
+    open(my $fh, '<', \$string) or die("Can't open \$string for read");
+    # $fh isn't a socket, so this should fail.
+    recv($fh,$buffer,1,0);
 };
 
 ok($@,'recv dies on returning undef');
-isa_ok($@,'autodie::exception');
+isa_ok($@,'autodie::exception')
+    or diag("$@");
 
 $buffer = "# Not an empty string\n";