Hello community,

here is the log from the commit of package perl-Devel-Confess for 
openSUSE:Factory checked in at 2017-03-28 15:20:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-Confess (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Devel-Confess.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Devel-Confess"

Tue Mar 28 15:20:43 2017 rev:7 rq:460873 version:0.009004

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Devel-Confess/perl-Devel-Confess.changes    
2016-11-20 18:19:28.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Devel-Confess.new/perl-Devel-Confess.changes   
    2017-03-28 15:20:43.670264733 +0200
@@ -1,0 +2,10 @@
+Tue Feb 21 06:23:37 UTC 2017 - [email protected]
+
+- updated to 0.009004
+   see /usr/share/doc/packages/perl-Devel-Confess/Changes
+
+  0.009004 - 2017-02-14
+    - prevent handlers from recursing, such as if our handlers are wrapped by 
other
+      code.  IO::All for example will do this.
+
+-------------------------------------------------------------------

Old:
----
  Devel-Confess-0.009003.tar.gz

New:
----
  Devel-Confess-0.009004.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Devel-Confess.spec ++++++
--- /var/tmp/diff_new_pack.1mDf32/_old  2017-03-28 15:20:44.278178634 +0200
+++ /var/tmp/diff_new_pack.1mDf32/_new  2017-03-28 15:20:44.282178067 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Devel-Confess
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,14 @@
 
 
 Name:           perl-Devel-Confess
-Version:        0.009003
+Version:        0.009004
 Release:        0
 %define cpan_name Devel-Confess
 Summary:        Include stack traces on all warnings and errors
 License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/Devel-Confess/
-Source0:        
http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
+Source0:        
https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ Devel-Confess-0.009003.tar.gz -> Devel-Confess-0.009004.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-Confess-0.009003/Changes 
new/Devel-Confess-0.009004/Changes
--- old/Devel-Confess-0.009003/Changes  2016-11-18 21:41:32.000000000 +0100
+++ new/Devel-Confess-0.009004/Changes  2017-02-14 01:00:22.000000000 +0100
@@ -1,5 +1,9 @@
 Release history for Devel-Confess
 
+0.009004 - 2017-02-14
+  - prevent handlers from recursing, such as if our handlers are wrapped by 
other
+    code.  IO::All for example will do this.
+
 0.009003 - 2016-11-18
   - more complete prereq list
   - fix inf handling
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-Confess-0.009003/META.json 
new/Devel-Confess-0.009004/META.json
--- old/Devel-Confess-0.009003/META.json        2016-11-18 21:41:43.000000000 
+0100
+++ new/Devel-Confess-0.009004/META.json        2017-02-14 01:00:41.000000000 
+0100
@@ -69,6 +69,6 @@
          "web" : "https://github.com/haarg/Devel-Confess";
       }
    },
-   "version" : "0.009003",
+   "version" : "0.009004",
    "x_serialization_backend" : "JSON::PP version 2.27300"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-Confess-0.009003/META.yml 
new/Devel-Confess-0.009004/META.yml
--- old/Devel-Confess-0.009003/META.yml 2016-11-18 21:41:42.000000000 +0100
+++ new/Devel-Confess-0.009004/META.yml 2017-02-14 01:00:41.000000000 +0100
@@ -30,5 +30,5 @@
   bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Devel-Confess
   license: http://dev.perl.org/licenses/
   repository: git://github.com/haarg/Devel-Confess
-version: '0.009003'
+version: '0.009004'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-Confess-0.009003/lib/Devel/Confess/Builtin.pm 
new/Devel-Confess-0.009004/lib/Devel/Confess/Builtin.pm
--- old/Devel-Confess-0.009003/lib/Devel/Confess/Builtin.pm     2016-11-18 
21:41:28.000000000 +0100
+++ new/Devel-Confess-0.009004/lib/Devel/Confess/Builtin.pm     2017-02-14 
01:00:18.000000000 +0100
@@ -3,7 +3,7 @@
 use warnings FATAL => 'all';
 no warnings 'once';
 
-our $VERSION = '0.009003';
+our $VERSION = '0.009004';
 $VERSION = eval $VERSION;
 
 use Devel::Confess::_Util ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-Confess-0.009003/lib/Devel/Confess.pm 
new/Devel-Confess-0.009004/lib/Devel/Confess.pm
--- old/Devel-Confess-0.009003/lib/Devel/Confess.pm     2016-11-18 
21:41:28.000000000 +0100
+++ new/Devel-Confess-0.009004/lib/Devel/Confess.pm     2017-02-14 
01:00:18.000000000 +0100
@@ -16,7 +16,7 @@
 use warnings;
 no warnings 'once';
 
-our $VERSION = '0.009003';
+our $VERSION = '0.009004';
 $VERSION = eval $VERSION;
 
 use Carp ();
@@ -227,8 +227,11 @@
 
 sub _warn {
   local $SIG{__WARN__};
+  return warn @_
+    if our $warn_deep;
   my @convert = _convert(@_);
   if (my $sig = _find_sig($OLD_SIG{__WARN__})) {
+    local $warn_deep = 1;
     (\&$sig)->(ref $convert[0] ? $convert[0] : join('', @convert));
   }
   else {
@@ -237,10 +240,14 @@
     warn @convert;
   }
 }
+
 sub _die {
   local $SIG{__DIE__};
+  return
+    if our $die_deep;
   my @convert = _convert(@_);
   if (my $sig = _find_sig($OLD_SIG{__DIE__})) {
+    local $die_deep = 1;
     (\&$sig)->(ref $convert[0] ? $convert[0] : join('', @convert));
   }
   @convert = _ex_as_strings(@convert) if _can_stringify;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-Confess-0.009003/t/sig.t 
new/Devel-Confess-0.009004/t/sig.t
--- old/Devel-Confess-0.009003/t/sig.t  2016-09-08 14:51:38.000000000 +0200
+++ new/Devel-Confess-0.009004/t/sig.t  2016-12-10 19:04:15.000000000 +0100
@@ -3,7 +3,7 @@
 BEGIN {
   $ENV{DEVEL_CONFESS_OPTIONS} = '';
 }
-use Test::More tests => 12;
+use Test::More tests => 14;
 use lib 't/lib';
 use Capture;
 
@@ -69,19 +69,19 @@
 is 0+$called, 1, 'dispatches by name to package sub';
 Devel::Confess->unimport;
 
-is capture <<"END_CODE",
-BEGIN { \$SIG{__DIE__} = sub { 1 } }
+is capture <<'END_CODE',
+BEGIN { $SIG{__DIE__} = sub { 1 } }
 use Devel::Confess;
 package A;
 
 sub f {
 #line 1 test-block.pl
-    die "Beware!";
+  die "Beware!";
 }
 
 sub g {
 #line 2 test-block.pl
-    f();
+  f();
 }
 
 package main;
@@ -96,19 +96,19 @@
 END_OUTPUT
   'trace still added when outer __DIE__ exists';
 
-is capture <<"END_CODE", '', 'outer __WARN__ can silence warnings';
-BEGIN { \$SIG{__WARN__} = sub { } }
+is capture <<'END_CODE', '',
+BEGIN { $SIG{__WARN__} = sub { } }
 use Devel::Confess;
 package A;
 
 sub f {
 #line 1 test-block.pl
-    warn "Beware!";
+  warn "Beware!";
 }
 
 sub g {
 #line 2 test-block.pl
-    f();
+  f();
 }
 
 package main;
@@ -116,20 +116,21 @@
 #line 3 test-block.pl
 A::g();
 END_CODE
+  'outer __WARN__ can silence warnings';
 
-is capture <<"END_CODE",
-BEGIN { \$SIG{__WARN__} = sub { warn \$_[0] } }
+is capture <<'END_CODE',
+BEGIN { $SIG{__WARN__} = sub { warn $_[0] } }
 use Devel::Confess;
 package A;
 
 sub f {
 #line 1 test-block.pl
-    warn "Beware!";
+  warn "Beware!";
 }
 
 sub g {
 #line 2 test-block.pl
-    f();
+  f();
 }
 
 package main;
@@ -143,3 +144,69 @@
 \tA::g() called at test-block.pl line 3
 END_OUTPUT
   'outer __WARN__ gets full location';
+
+is capture <<'END_CODE',
+use strict;
+use warnings 'FATAL' => 'all';
+use Devel::Confess;
+BEGIN {
+  my $warn = $SIG{__WARN__} || die;
+  $SIG{__WARN__} = sub { $warn->(@_) };
+}
+use Devel::Confess;
+package A;
+
+sub f {
+#line 1 test-block.pl
+  warn "Beware!";
+}
+
+sub g {
+#line 2 test-block.pl
+  f();
+}
+
+package main;
+
+#line 3 test-block.pl
+A::g();
+END_CODE
+  <<"END_OUTPUT",
+Beware! at test-block.pl line 1.
+\tA::f() called at test-block.pl line 2
+\tA::g() called at test-block.pl line 3
+END_OUTPUT
+  'no infinite loop with mutually recursing __WARN__';
+
+is capture <<'END_CODE',
+use strict;
+use warnings 'FATAL' => 'all';
+use Devel::Confess;
+BEGIN {
+  my $die = $SIG{__DIE__} or die;
+  $SIG{__DIE__} = sub { $die->(\@_) };
+}
+use Devel::Confess;
+package A;
+
+sub f {
+#line 1 test-block.pl
+  die "Beware!";
+}
+
+sub g {
+#line 2 test-block.pl
+  f();
+}
+
+package main;
+
+#line 3 test-block.pl
+A::g();
+END_CODE
+  <<"END_OUTPUT",
+Beware! at test-block.pl line 1.
+\tA::f() called at test-block.pl line 2
+\tA::g() called at test-block.pl line 3
+END_OUTPUT
+  'no infinite loop with mutually recursing __DIE__';


Reply via email to