This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[cpan#100183] Add missing "<FH> chunk #" phrase to Carp messages
authorAaron Crane <arc@cpan.org>
Sun, 24 Apr 2016 15:24:43 +0000 (16:24 +0100)
committerAaron Crane <arc@cpan.org>
Sun, 15 May 2016 23:07:34 +0000 (00:07 +0100)
Commit 89988fbd2f7d8a44526a3cd9ab671b3102898bc9 added the relevant phrase for
line-oriented filehandles; this extends that to also cover chunk-oriented
ones.

The patch was supplied by Chris R Donnelly <chris.donnelly@vauto.com> on the
rt.cpan.org ticket; I have extended it to include a test.

dist/Carp/lib/Carp.pm
dist/Carp/lib/Carp/Heavy.pm
dist/Carp/t/Carp.t

index 92f8866..8e61752 100644 (file)
@@ -87,7 +87,7 @@ BEGIN {
     }
 }
 
-our $VERSION = '1.40';
+our $VERSION = '1.41';
 $VERSION =~ tr/_//d;
 
 our $MaxEvalLen = 0;
@@ -474,7 +474,7 @@ sub ret_backtrace {
         eval {
             CORE::die;
         };
-        if($@ =~ /^Died at .*(, <.*?> line \d+).$/ ) {
+        if($@ =~ /^Died at .*(, <.*?> (?:line|chunk) \d+).$/ ) {
             $mess .= $1;
         }
     }
index b05d758..7b4de47 100644 (file)
@@ -2,7 +2,7 @@ package Carp::Heavy;
 
 use Carp ();
 
-our $VERSION = '1.40';
+our $VERSION = '1.41';
 $VERSION =~ tr/_//d;
 
 # Carp::Heavy was merged into Carp in version 1.12.  Any mismatched versions
index 9ecdf88..65daed7 100644 (file)
@@ -3,7 +3,7 @@ no warnings "once";
 use Config;
 
 use IPC::Open3 1.0103 qw(open3);
-use Test::More tests => 66;
+use Test::More tests => 67;
 
 sub runperl {
     my(%args) = @_;
@@ -442,6 +442,16 @@ $@ =~ s/\n.*//; # just check first line
 is $@, "heek at ".__FILE__." line ".(__LINE__-2).", <DATA> line 2.\n",
     'last handle line num is mentioned';
 
+# [cpan #100183]
+{
+    local $/ = \6;
+    <XD::DATA>;
+    eval { croak 'jeek' };
+    $@ =~ s/\n.*//; # just check first line
+    is $@, "jeek at ".__FILE__." line ".(__LINE__-2).", <DATA> chunk 3.\n",
+        'last handle chunk num is mentioned';
+}
+
 SKIP:
 {
     skip "IPC::Open3::open3 needs porting", 1 if $Is_VMS;
@@ -531,3 +541,4 @@ __DATA__
 1
 2
 3
+abcdefghijklmnopqrstuvwxyz