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__';