Hello community,
here is the log from the commit of package perl-Devel-StackTrace for
openSUSE:Factory checked in at 2014-09-19 22:27:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-StackTrace (Old)
and /work/SRC/openSUSE:Factory/.perl-Devel-StackTrace.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-StackTrace"
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Devel-StackTrace/perl-Devel-StackTrace.changes
2014-02-24 14:12:23.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Devel-StackTrace.new/perl-Devel-StackTrace.changes
2014-09-19 22:27:48.000000000 +0200
@@ -1,0 +2,19 @@
+Fri Sep 19 12:15:46 UTC 2014 - [email protected]
+
+- updated to 1.34
+ - Fixed use of // operator (my use, not Graham's) in previous release.
+
+
+ 1.33 2014-06-26
+
+ - Added a skip_frames option. This causes the stack trace to skip an arbitrary
+ number of frames. Patch by Graham Knopp. PR #5.
+
+
+ 1.32 2014-05-05
+
+ - Added a filter_frames_early option to filter frames before arguments are
+ stringified. Added by Dagfinn Ilmari Mannsåker. PR #4.
+
+
+-------------------------------------------------------------------
Old:
----
Devel-StackTrace-1.31.tar.gz
New:
----
Devel-StackTrace-1.34.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Devel-StackTrace.spec ++++++
--- /var/tmp/diff_new_pack.sRI2NG/_old 2014-09-19 22:27:49.000000000 +0200
+++ /var/tmp/diff_new_pack.sRI2NG/_new 2014-09-19 22:27:49.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Devel-StackTrace
-Version: 1.31
+Version: 1.34
Release: 0
%define cpan_name Devel-StackTrace
Summary: An object representing a stack trace
++++++ Devel-StackTrace-1.31.tar.gz -> Devel-StackTrace-1.34.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/Changes
new/Devel-StackTrace-1.34/Changes
--- old/Devel-StackTrace-1.31/Changes 2014-01-16 23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/Changes 2014-06-26 23:49:42.000000000 +0200
@@ -1,3 +1,20 @@
+1.34 2014-06-26
+
+- Fixed use of // operator (my use, not Graham's) in previous release.
+
+
+1.33 2014-06-26
+
+- Added a skip_frames option. This causes the stack trace to skip an arbitrary
+ number of frames. Patch by Graham Knopp. PR #5.
+
+
+1.32 2014-05-05
+
+- Added a filter_frames_early option to filter frames before arguments are
+ stringified. Added by Dagfinn Ilmari Mannsåker. PR #4.
+
+
1.31 2014-01-16
- No code changes, just doc updates, including documenting the as_string()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/MANIFEST
new/Devel-StackTrace-1.34/MANIFEST
--- old/Devel-StackTrace-1.31/MANIFEST 2014-01-16 23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/MANIFEST 2014-06-26 23:49:42.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest
v5.012.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest
v5.019.
Changes
INSTALL
LICENSE
@@ -18,6 +18,8 @@
t/05-back-compat.t
t/06-dollar-at.t
t/07-no-args.t
+t/08-filter-early.t
+t/09-skip-frames.t
t/author-pod-spell.t
t/release-cpan-changes.t
t/release-eol.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/META.json
new/Devel-StackTrace-1.34/META.json
--- old/Devel-StackTrace-1.31/META.json 2014-01-16 23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/META.json 2014-06-26 23:49:42.000000000 +0200
@@ -4,7 +4,7 @@
"Dave Rolsky <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.012, CPAN::Meta::Converter version
2.120921",
+ "generated_by" : "Dist::Zilla version 5.019, CPAN::Meta::Converter version
2.120921",
"license" : [
"artistic_2"
],
@@ -22,6 +22,8 @@
"develop" : {
"requires" : {
"Pod::Coverage::TrustPod" : "0",
+ "Test::More" : "0",
+ "Test::NoTabs" : "0",
"Test::Pod" : "1.41",
"Test::Pod::Coverage" : "1.08"
}
@@ -60,10 +62,12 @@
"web" : "http://git.urth.org/Devel-StackTrace.git"
}
},
- "version" : "1.31",
+ "version" : "1.34",
"x_authority" : "cpan:DROLSKY",
"x_contributors" : [
+ "Dagfinn Ilmari Mannsåker <[email protected]>",
"David Cantrell <[email protected]>",
+ "Graham Knop <[email protected]>",
"Ricardo Signes <[email protected]>",
"autarch <devnull@localhost>",
"convert-repo <devnull@localhost>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/META.yml
new/Devel-StackTrace-1.34/META.yml
--- old/Devel-StackTrace-1.31/META.yml 2014-01-16 23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/META.yml 2014-06-26 23:49:42.000000000 +0200
@@ -12,7 +12,7 @@
configure_requires:
ExtUtils::MakeMaker: 6.30
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.012, CPAN::Meta::Converter version
2.120921'
+generated_by: 'Dist::Zilla version 5.019, CPAN::Meta::Converter version
2.120921'
license: artistic_2
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -29,10 +29,12 @@
bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Devel-StackTrace
homepage: http://metacpan.org/release/Devel-StackTrace
repository: git://git.urth.org/Devel-StackTrace.git
-version: 1.31
+version: 1.34
x_authority: cpan:DROLSKY
x_contributors:
+ - 'Dagfinn Ilmari Mannsåker <[email protected]>'
- 'David Cantrell <[email protected]>'
+ - 'Graham Knop <[email protected]>'
- 'Ricardo Signes <[email protected]>'
- 'autarch <devnull@localhost>'
- 'convert-repo <devnull@localhost>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/Makefile.PL
new/Devel-StackTrace-1.34/Makefile.PL
--- old/Devel-StackTrace-1.31/Makefile.PL 2014-01-16 23:35:53.000000000
+0100
+++ new/Devel-StackTrace-1.34/Makefile.PL 2014-06-26 23:49:42.000000000
+0200
@@ -1,5 +1,5 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker
v5.012.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker
v5.019.
use strict;
use warnings;
@@ -12,7 +12,6 @@
my %WriteMakefileArgs = (
"ABSTRACT" => "An object representing a stack trace",
"AUTHOR" => "Dave Rolsky <autarch\@urth.org>",
- "BUILD_REQUIRES" => {},
"CONFIGURE_REQUIRES" => {
"ExtUtils::MakeMaker" => "6.30"
},
@@ -35,7 +34,7 @@
"base" => 0,
"bytes" => 0
},
- "VERSION" => "1.31",
+ "VERSION" => "1.34",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/README
new/Devel-StackTrace-1.34/README
--- old/Devel-StackTrace-1.31/README 2014-01-16 23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/README 2014-06-26 23:49:42.000000000 +0200
@@ -2,7 +2,7 @@
Devel::StackTrace - An object representing a stack trace
VERSION
- version 1.31
+ version 1.34
SYNOPSIS
use Devel::StackTrace;
@@ -76,6 +76,16 @@
The filter should return true if the frame should be included, or
false if it should be skipped.
+ * filter_frames_early => $boolean
+
+ If this parameter is true, "frame_filter" will be called as soon as
+ the stacktrace is created, and before refs are stringified (if
+ "no_refs" is true), rather than being filtered lazily when
+ Devel::StackTrace::Frame objects are first needed.
+
+ This is useful if you want to filter based on the frame's arguments
+ and want to be able to examine object properties, for example.
+
* ignore_package => $package_name OR \@package_names
Any frames where the package is one of these packages will not be on
@@ -91,6 +101,13 @@
ignored. However, if you create a subclass of Devel::StackTrace it
will not be ignored.
+ * skip_frames => $integer
+
+ This will cause this number of stack frames to be excluded from top
+ of the stack trace. This prevents the frames from being captured at
+ all, and applies before the "frame_filter", "ignore_package", or
+ "ignore_class" options, even with "filter_frames_early".
+
* no_refs => $boolean
If this parameter is true, then Devel::StackTrace will not store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/dist.ini
new/Devel-StackTrace-1.34/dist.ini
--- old/Devel-StackTrace-1.31/dist.ini 2014-01-16 23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/dist.ini 2014-06-26 23:49:42.000000000 +0200
@@ -3,7 +3,7 @@
license = Artistic_2_0
copyright_holder = Dave Rolsky
-version = 1.31
+version = 1.34
[@DROLSKY]
dist = Devel-StackTrace
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/lib/Devel/StackTrace/Frame.pm
new/Devel-StackTrace-1.34/lib/Devel/StackTrace/Frame.pm
--- old/Devel-StackTrace-1.31/lib/Devel/StackTrace/Frame.pm 2014-01-16
23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/lib/Devel/StackTrace/Frame.pm 2014-06-26
23:49:42.000000000 +0200
@@ -1,9 +1,5 @@
package Devel::StackTrace::Frame;
-$Devel::StackTrace::Frame::VERSION = '1.31';
-BEGIN {
- $Devel::StackTrace::Frame::AUTHORITY = 'cpan:DROLSKY';
-}
-
+$Devel::StackTrace::Frame::VERSION = '1.34';
use strict;
use warnings;
@@ -159,7 +155,7 @@
=head1 VERSION
-version 1.31
+version 1.34
=head1 DESCRIPTION
@@ -194,8 +190,8 @@
=head2 $frame->args()
-Returns the arguments passed to the frame. Note that any arguments
-that are references are returned as references, not copies.
+Returns the arguments passed to the frame. Note that any arguments that are
+references are returned as references, not copies.
=head2 $frame->hints()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/lib/Devel/StackTrace.pm
new/Devel-StackTrace-1.34/lib/Devel/StackTrace.pm
--- old/Devel-StackTrace-1.31/lib/Devel/StackTrace.pm 2014-01-16
23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/lib/Devel/StackTrace.pm 2014-06-26
23:49:42.000000000 +0200
@@ -1,9 +1,5 @@
package Devel::StackTrace;
-$Devel::StackTrace::VERSION = '1.31';
-BEGIN {
- $Devel::StackTrace::AUTHORITY = 'cpan:DROLSKY';
-}
-
+$Devel::StackTrace::VERSION = '1.34';
use 5.006;
use strict;
@@ -41,8 +37,11 @@
sub _record_caller_data {
my $self = shift;
- # We exclude this method by starting one frame back.
- my $x = 1;
+ my $filter = $self->{filter_frames_early} && $self->_make_frame_filter();
+
+ # We exclude this method by starting at least one frame back.
+ my $x = 1 + ( $self->{skip_frames} || 0 );
+
while (
my @c
= $self->{no_args}
@@ -57,19 +56,20 @@
my @args;
- unless ( $self->{no_args} ) {
- @args = @DB::args;
+ @args = $self->{no_args} ? () : @DB::args;
+
+ my $raw = {
+ caller => \@c,
+ args => \@args,
+ };
+
+ next if $filter && !$filter->($raw);
- if ( $self->{no_refs} ) {
- @args = map { ref $_ ? $self->_ref_to_string($_) : $_ } @args;
- }
+ if ( $self->{no_refs} ) {
+ $raw->{args} = [ map { ref $_ ? $self->_ref_to_string($_) : $_ }
@{$raw->{args}} ];
}
- push @{ $self->{raw} },
- {
- caller => \@c,
- args => \@args,
- };
+ push @{ $self->{raw} }, $raw;
}
}
@@ -93,11 +93,11 @@
sub _make_frames {
my $self = shift;
- my $filter = $self->_make_frame_filter;
+ my $filter = !$self->{filter_frames_early} && $self->_make_frame_filter();
my $raw = delete $self->{raw};
for my $r ( @{$raw} ) {
- next unless $filter->($r);
+ next if $filter && ! $filter->($r);
$self->_add_frame( $r->{caller}, $r->{args} );
}
@@ -268,7 +268,7 @@
=head1 VERSION
-version 1.31
+version 1.34
=head1 SYNOPSIS
@@ -349,6 +349,16 @@
The filter should return true if the frame should be included, or
false if it should be skipped.
+=item * filter_frames_early => $boolean
+
+If this parameter is true, C<frame_filter> will be called as soon as the
+stacktrace is created, and before refs are stringified (if C<no_refs> is
+true), rather than being filtered lazily when L<Devel::StackTrace::Frame>
+objects are first needed.
+
+This is useful if you want to filter based on the frame's arguments and want
+to be able to examine object properties, for example.
+
=item * ignore_package => $package_name OR \@package_names
Any frames where the package is one of these packages will not be on
@@ -364,6 +374,13 @@
ignored. However, if you create a subclass of Devel::StackTrace it
will not be ignored.
+=item * skip_frames => $integer
+
+This will cause this number of stack frames to be excluded from top of the
+stack trace. This prevents the frames from being captured at all, and applies
+before the C<frame_filter>, C<ignore_package>, or C<ignore_class> options,
+even with C<filter_frames_early>.
+
=item * no_refs => $boolean
If this parameter is true, then Devel::StackTrace will not store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/t/08-filter-early.t
new/Devel-StackTrace-1.34/t/08-filter-early.t
--- old/Devel-StackTrace-1.31/t/08-filter-early.t 1970-01-01
01:00:00.000000000 +0100
+++ new/Devel-StackTrace-1.34/t/08-filter-early.t 2014-06-26
23:49:42.000000000 +0200
@@ -0,0 +1,31 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+use Devel::StackTrace;
+
+{
+ my $trace = foo( [] );
+ is(
+ 0 + grep( ref, map { $_->args } $trace->frames ), 0,
+ 'args stringified in trace'
+ );
+}
+
+done_testing();
+
+sub foo {
+ return Devel::StackTrace->new(
+ frame_filter => sub {
+ my $frame = shift;
+ if ( $frame->{caller}[3] eq "main::foo" ) {
+ ok( ref $frame->{args}[0], 'ref arg passed to filter' );
+ }
+ 1;
+ },
+ filter_frames_early => 1,
+ no_refs => 1,
+ );
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/t/09-skip-frames.t
new/Devel-StackTrace-1.34/t/09-skip-frames.t
--- old/Devel-StackTrace-1.31/t/09-skip-frames.t 1970-01-01
01:00:00.000000000 +0100
+++ new/Devel-StackTrace-1.34/t/09-skip-frames.t 2014-06-26
23:49:42.000000000 +0200
@@ -0,0 +1,41 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+use Devel::StackTrace;
+
+{
+ my $trace = baz();
+ my @f;
+ while ( my $f = $trace->next_frame ) { push @f, $f; }
+
+ my $cnt = scalar @f;
+ is(
+ $cnt, 2,
+ "Trace should have 2 frames"
+ );
+
+ is(
+ $f[0]->subroutine, 'main::bar',
+ "First frame subroutine should be main::bar"
+ );
+ is(
+ $f[1]->subroutine, 'main::baz',
+ "First frame subroutine should be main::baz"
+ );
+}
+
+done_testing();
+
+sub foo {
+ return Devel::StackTrace->new( skip_frames => 2 );
+}
+
+sub bar {
+ foo();
+}
+
+sub baz {
+ bar();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/t/release-no-tabs.t
new/Devel-StackTrace-1.34/t/release-no-tabs.t
--- old/Devel-StackTrace-1.31/t/release-no-tabs.t 2014-01-16
23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/t/release-no-tabs.t 2014-06-26
23:49:42.000000000 +0200
@@ -8,9 +8,35 @@
use strict;
use warnings;
-use Test::More;
-eval 'use Test::NoTabs';
-plan skip_all => 'Test::NoTabs required' if $@;
+# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.07
-all_perl_files_ok();
+use Test::More 0.88;
+use Test::NoTabs;
+
+my @files = (
+ 'lib/Devel/StackTrace.pm',
+ 'lib/Devel/StackTrace/Frame.pm',
+ 't/00-compile.t',
+ 't/01-basic.t',
+ 't/02-bad-utf8.t',
+ 't/03-message.t',
+ 't/04-indent.t',
+ 't/05-back-compat.t',
+ 't/06-dollar-at.t',
+ 't/07-no-args.t',
+ 't/08-filter-early.t',
+ 't/09-skip-frames.t',
+ 't/author-pod-spell.t',
+ 't/release-cpan-changes.t',
+ 't/release-eol.t',
+ 't/release-no-tabs.t',
+ 't/release-pod-coverage.t',
+ 't/release-pod-linkcheck.t',
+ 't/release-pod-no404s.t',
+ 't/release-pod-syntax.t',
+ 't/release-synopsis.t'
+);
+
+notabs_ok($_) foreach @files;
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/t/release-pod-coverage.t
new/Devel-StackTrace-1.34/t/release-pod-coverage.t
--- old/Devel-StackTrace-1.31/t/release-pod-coverage.t 2014-01-16
23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/t/release-pod-coverage.t 2014-06-26
23:49:42.000000000 +0200
@@ -9,14 +9,7 @@
# This file was automatically generated by
Dist::Zilla::Plugin::PodCoverageTests.
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.08";
-plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage"
- if $@;
-
-eval "use Pod::Coverage::TrustPod";
-plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage"
- if $@;
+use Test::Pod::Coverage 1.08;
+use Pod::Coverage::TrustPod;
all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-StackTrace-1.31/t/release-pod-syntax.t
new/Devel-StackTrace-1.34/t/release-pod-syntax.t
--- old/Devel-StackTrace-1.31/t/release-pod-syntax.t 2014-01-16
23:35:53.000000000 +0100
+++ new/Devel-StackTrace-1.34/t/release-pod-syntax.t 2014-06-26
23:49:42.000000000 +0200
@@ -9,8 +9,6 @@
# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
all_pod_files_ok();
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]