diff -Nru libdevel-stacktrace-ashtml-perl-0.11/Changes libdevel-stacktrace-ashtml-perl-0.14/Changes --- libdevel-stacktrace-ashtml-perl-0.11/Changes 2011-01-25 07:08:41.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/Changes 2013-02-18 19:41:05.000000000 +0000 @@ -1,5 +1,16 @@ Revision history for Perl extension Devel::StackTrace::AsHTML +0.14 Mon Feb 18 11:40:53 PST 2013 + - Fix test for Win32 (RickFord) + +0.13 Mon Feb 11 11:52:15 PST 2013 + - Get subroutine arguments from the next frame too + +0.12 Mon Feb 11 11:25:50 PST 2013 + - Fixed the use of $frame->subroutine since it returns a subroutine that is *invoked* on that + call frame, rather than what the frame is *in*. Fixed to peek the next frame to get the + current subroutine. (Caelum) + 0.11 Mon Jan 24 23:08:04 PST 2011 - You should now pass the error message in 'message' parameter explicitly to display as an error - Use the first frame, not the second frame to capture error message diff -Nru libdevel-stacktrace-ashtml-perl-0.11/META.yml libdevel-stacktrace-ashtml-perl-0.14/META.yml --- libdevel-stacktrace-ashtml-perl-0.11/META.yml 2011-01-25 07:08:57.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/META.yml 2013-02-18 19:41:20.000000000 +0000 @@ -3,11 +3,12 @@ author: - 'Tatsuhiko Miyagawa ' build_requires: - ExtUtils::MakeMaker: 6.42 + ExtUtils::MakeMaker: 6.59 configure_requires: - ExtUtils::MakeMaker: 6.42 + ExtUtils::MakeMaker: 6.59 distribution_type: module -generated_by: 'Module::Install version 1.00' +dynamic_config: 1 +generated_by: 'Module::Install version 1.06' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -25,4 +26,4 @@ resources: license: http://dev.perl.org/licenses/ repository: git://github.com/miyagawa/Devel-StackTrace-AsHTML.git -version: 0.11 +version: 0.14 diff -Nru libdevel-stacktrace-ashtml-perl-0.11/debian/changelog libdevel-stacktrace-ashtml-perl-0.14/debian/changelog --- libdevel-stacktrace-ashtml-perl-0.11/debian/changelog 2011-02-17 21:02:01.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/debian/changelog 2013-08-16 12:20:38.000000000 +0000 @@ -1,3 +1,22 @@ +libdevel-stacktrace-ashtml-perl (0.14-1) unstable; urgency=low + + [ Ansgar Burchardt ] + * debian/control: Convert Vcs-* fields to Git. + + [ Salvatore Bonaccorso ] + * Change Vcs-Git to canonical URI (git://anonscm.debian.org). + * Change search.cpan.org based URIs to metacpan.org based URIs. + + [ Florian Schlichting ] + * Import Upstream version 0.14. + * Bump years of upstream (and inc) copyright. + * Add copyright paragraph for inc/Test/Base*. + * Bump Standards-Version to 3.9.4 (update to copyright-format 1.0). + * Bump dh compatibility to level 8 (no changes necessary). + * Add myself to uploaders and copyright. + + -- Florian Schlichting Fri, 16 Aug 2013 14:14:33 +0200 + libdevel-stacktrace-ashtml-perl (0.11-1) unstable; urgency=low [ Jonathan Yu ] diff -Nru libdevel-stacktrace-ashtml-perl-0.11/debian/compat libdevel-stacktrace-ashtml-perl-0.14/debian/compat --- libdevel-stacktrace-ashtml-perl-0.11/debian/compat 2010-10-12 10:23:29.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/debian/compat 2013-08-16 12:13:15.000000000 +0000 @@ -1 +1 @@ -7 +8 diff -Nru libdevel-stacktrace-ashtml-perl-0.11/debian/control libdevel-stacktrace-ashtml-perl-0.14/debian/control --- libdevel-stacktrace-ashtml-perl-0.11/debian/control 2011-02-17 20:54:20.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/debian/control 2013-08-16 12:20:38.000000000 +0000 @@ -1,15 +1,15 @@ Source: libdevel-stacktrace-ashtml-perl Section: perl Priority: optional -Build-Depends: debhelper (>= 7) +Build-Depends: debhelper (>= 8) Build-Depends-Indep: perl, libdevel-stacktrace-perl Maintainer: Debian Perl Group Uploaders: Jonathan Yu , - gregor herrmann -Standards-Version: 3.9.1 -Homepage: http://search.cpan.org/dist/Devel-StackTrace-AsHTML/ -Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libdevel-stacktrace-ashtml-perl/ -Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libdevel-stacktrace-ashtml-perl/ + gregor herrmann , Florian Schlichting +Standards-Version: 3.9.4 +Homepage: https://metacpan.org/release/Devel-StackTrace-AsHTML/ +Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libdevel-stacktrace-ashtml-perl.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libdevel-stacktrace-ashtml-perl.git Package: libdevel-stacktrace-ashtml-perl Architecture: all diff -Nru libdevel-stacktrace-ashtml-perl-0.11/debian/copyright libdevel-stacktrace-ashtml-perl-0.14/debian/copyright --- libdevel-stacktrace-ashtml-perl-0.11/debian/copyright 2011-02-17 21:01:36.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/debian/copyright 2013-08-16 12:20:38.000000000 +0000 @@ -1,12 +1,12 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 -Maintainer: Tatsuhiko Miyagawa -Source: http://search.cpan.org/dist/Devel-StackTrace-AsHTML/ -Name: Devel-StackTrace-AsHTML +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Devel-StackTrace-AsHTML +Upstream-Contact: Tatsuhiko Miyagawa +Source: https://metacpan.org/release/Devel-StackTrace-AsHTML/ Files: * -Copyright: 2009-2011, Tatsuhiko Miyagawa +Copyright: 2009-2013, Tatsuhiko Miyagawa License: Artistic or GPL-1+ -X-Comment: Rationale from the author was: +Comment: Rationale from the author was: All of my modules available at http://search.cpan.org/~miyagawa/ with the statement "AUTHOR: Tatsuhiko Miyagawa" are, unless otherwise noted, Copyright (c) Tatsuhiiko Miyagawa. @@ -19,27 +19,33 @@ me involved :) Files: inc/Spiffy.pm -Copyright: 2004-2006, Brian Ingerson +Copyright: 2004-2012, Brian Ingerson License: Artistic or GPL-1+ Files: inc/Test/More.pm Copyright: 2001-2008, Michael G Schwern License: Artistic or GPL-1+ -Files: inc/Test/Builder.pm, inc/Test/Builder/* +Files: inc/Test/Builder.pm inc/Test/Builder/* Copyright: 2002-2008, chromatic 2002-2008, Michael G Schwern License: Artistic or GPL-1+ +Files: inc/Test/Base* +Copyright: 2006-2011, Ingy döt Net + 2005, Brian Ingerson +License: Artistic or GPL-1+ + Files: inc/Module/* -Copyright: 2002-2010, Adam Kennedy - 2002-2010, Audrey Tang - 2002-2010, Brian Ingerson +Copyright: 2002-2012, Adam Kennedy + 2002-2012, Audrey Tang + 2002-2012, Brian Ingerson License: Artistic or GPL-1+ Files: debian/* Copyright: 2010-2011, Jonathan Yu 2010, gregor herrmann + 2013, Florian Schlichting License: Artistic or GPL-1+ License: Artistic @@ -57,3 +63,4 @@ . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. + diff -Nru libdevel-stacktrace-ashtml-perl-0.11/debian/watch libdevel-stacktrace-ashtml-perl-0.14/debian/watch --- libdevel-stacktrace-ashtml-perl-0.11/debian/watch 2010-10-12 10:23:29.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/debian/watch 2013-01-27 17:45:38.000000000 +0000 @@ -1,2 +1,2 @@ version=3 -http://search.cpan.org/dist/Devel-StackTrace-AsHTML/ .*/Devel-StackTrace-AsHTML-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ +https://metacpan.org/release/Devel-StackTrace-AsHTML/ .*/Devel-StackTrace-AsHTML-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Base.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Base.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Base.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Base.pm 2013-02-18 19:41:20.000000000 +0000 @@ -4,7 +4,7 @@ use strict 'vars'; use vars qw{$VERSION}; BEGIN { - $VERSION = '1.00'; + $VERSION = '1.06'; } # Suspend handler for "redefined" warnings diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Can.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Can.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Can.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Can.pm 2013-02-18 19:41:20.000000000 +0000 @@ -3,13 +3,12 @@ use strict; use Config (); -use File::Spec (); use ExtUtils::MakeMaker (); use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.00'; + $VERSION = '1.06'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } @@ -29,7 +28,7 @@ eval { require $mod; $pkg->VERSION($ver || 0); 1 }; } -# check if we can run some command +# Check if we can run some command sub can_run { my ($self, $cmd) = @_; @@ -38,14 +37,88 @@ for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') { next if $dir eq ''; - my $abs = File::Spec->catfile($dir, $_[1]); + require File::Spec; + my $abs = File::Spec->catfile($dir, $cmd); return $abs if (-x $abs or $abs = MM->maybe_command($abs)); } return; } -# can we locate a (the) C compiler +# Can our C compiler environment build XS files +sub can_xs { + my $self = shift; + + # Ensure we have the CBuilder module + $self->configure_requires( 'ExtUtils::CBuilder' => 0.27 ); + + # Do we have the configure_requires checker? + local $@; + eval "require ExtUtils::CBuilder;"; + if ( $@ ) { + # They don't obey configure_requires, so it is + # someone old and delicate. Try to avoid hurting + # them by falling back to an older simpler test. + return $self->can_cc(); + } + + # Do we have a working C compiler + my $builder = ExtUtils::CBuilder->new( + quiet => 1, + ); + unless ( $builder->have_compiler ) { + # No working C compiler + return 0; + } + + # Write a C file representative of what XS becomes + require File::Temp; + my ( $FH, $tmpfile ) = File::Temp::tempfile( + "compilexs-XXXXX", + SUFFIX => '.c', + ); + binmode $FH; + print $FH <<'END_C'; +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +int main(int argc, char **argv) { + return 0; +} + +int boot_sanexs() { + return 1; +} + +END_C + close $FH; + + # Can the C compiler access the same headers XS does + my @libs = (); + my $object = undef; + eval { + local $^W = 0; + $object = $builder->compile( + source => $tmpfile, + ); + @libs = $builder->link( + objects => $object, + module_name => 'sanexs', + ); + }; + my $result = $@ ? 0 : 1; + + # Clean up all the build files + foreach ( $tmpfile, $object, @libs ) { + next unless defined $_; + 1 while unlink; + } + + return $result; +} + +# Can we locate a (the) C compiler sub can_cc { my $self = shift; my @chunks = split(/ /, $Config::Config{cc}) or return; @@ -78,4 +151,4 @@ __END__ -#line 156 +#line 236 diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Fetch.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Fetch.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Fetch.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Fetch.pm 2013-02-18 19:41:20.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.00'; + $VERSION = '1.06'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Include.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Include.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Include.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Include.pm 2013-02-18 19:41:20.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.00'; + $VERSION = '1.06'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Makefile.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Makefile.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Makefile.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Makefile.pm 2013-02-18 19:41:20.000000000 +0000 @@ -8,7 +8,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.00'; + $VERSION = '1.06'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } @@ -215,18 +215,22 @@ require ExtUtils::MakeMaker; if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) { - # MakeMaker can complain about module versions that include - # an underscore, even though its own version may contain one! - # Hence the funny regexp to get rid of it. See RT #35800 - # for details. - my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/; - $self->build_requires( 'ExtUtils::MakeMaker' => $v ); - $self->configure_requires( 'ExtUtils::MakeMaker' => $v ); + # This previous attempted to inherit the version of + # ExtUtils::MakeMaker in use by the module author, but this + # was found to be untenable as some authors build releases + # using future dev versions of EU:MM that nobody else has. + # Instead, #toolchain suggests we use 6.59 which is the most + # stable version on CPAN at time of writing and is, to quote + # ribasushi, "not terminally fucked, > and tested enough". + # TODO: We will now need to maintain this over time to push + # the version up as new versions are released. + $self->build_requires( 'ExtUtils::MakeMaker' => 6.59 ); + $self->configure_requires( 'ExtUtils::MakeMaker' => 6.59 ); } else { # Allow legacy-compatibility with 5.005 by depending on the # most recent EU:MM that supported 5.005. - $self->build_requires( 'ExtUtils::MakeMaker' => 6.42 ); - $self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 ); + $self->build_requires( 'ExtUtils::MakeMaker' => 6.36 ); + $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 ); } # Generate the MakeMaker params @@ -241,7 +245,6 @@ 'all_from' if you prefer) in Makefile.PL. EOT - $DB::single = 1; if ( $self->tests ) { my @tests = split ' ', $self->tests; my %seen; @@ -412,4 +415,4 @@ __END__ -#line 541 +#line 544 diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Metadata.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Metadata.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Metadata.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Metadata.pm 2013-02-18 19:41:20.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.00'; + $VERSION = '1.06'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } @@ -151,15 +151,21 @@ sub install_as_vendor { $_[0]->installdirs('vendor') } sub dynamic_config { - my $self = shift; - unless ( @_ ) { - warn "You MUST provide an explicit true/false value to dynamic_config\n"; - return $self; + my $self = shift; + my $value = @_ ? shift : 1; + if ( $self->{values}->{dynamic_config} ) { + # Once dynamic we never change to static, for safety + return 0; } - $self->{values}->{dynamic_config} = $_[0] ? 1 : 0; + $self->{values}->{dynamic_config} = $value ? 1 : 0; return 1; } +# Convenience command +sub static_config { + shift->dynamic_config(0); +} + sub perl_version { my $self = shift; return $self->{values}->{perl_version} unless @_; @@ -170,7 +176,7 @@ # Normalize the version $version = $self->_perl_version($version); - # We don't support the reall old versions + # We don't support the really old versions unless ( $version >= 5.005 ) { die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n"; } @@ -515,6 +521,7 @@ 'GNU Free Documentation license' => 'unrestricted', 1, 'GNU Affero General Public License' => 'open_source', 1, '(?:Free)?BSD license' => 'bsd', 1, + 'Artistic license 2\.0' => 'artistic_2', 1, 'Artistic license' => 'artistic', 1, 'Apache (?:Software )?license' => 'apache', 1, 'GPL' => 'gpl', 1, @@ -550,9 +557,9 @@ sub _extract_bugtracker { my @links = $_[0] =~ m#L<( - \Qhttp://rt.cpan.org/\E[^>]+| - \Qhttp://github.com/\E[\w_]+/[\w_]+/issues| - \Qhttp://code.google.com/p/\E[\w_\-]+/issues/list + https?\Q://rt.cpan.org/\E[^>]+| + https?\Q://github.com/\E[\w_]+/[\w_]+/issues| + https?\Q://code.google.com/p/\E[\w_\-]+/issues/list )>#gx; my %links; @links{@links}=(); @@ -581,7 +588,7 @@ sub requires_from { my $self = shift; my $content = Module::Install::_readperl($_[0]); - my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg; + my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg; while ( @requires ) { my $module = shift @requires; my $version = shift @requires; diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/ReadmeFromPod.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/ReadmeFromPod.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/ReadmeFromPod.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/ReadmeFromPod.pm 2013-02-18 19:41:20.000000000 +0000 @@ -7,29 +7,119 @@ use base qw(Module::Install::Base); use vars qw($VERSION); -$VERSION = '0.12'; +$VERSION = '0.20'; sub readme_from { my $self = shift; return unless $self->is_admin; - my $file = shift || $self->_all_from + # Input file + my $in_file = shift || $self->_all_from or die "Can't determine file to make readme_from"; - my $clean = shift; - print "Writing README from $file\n"; + # Get optional arguments + my ($clean, $format, $out_file, $options); + my $args = shift; + if ( ref $args ) { + # Arguments are in a hashref + if ( ref($args) ne 'HASH' ) { + die "Expected a hashref but got a ".ref($args)."\n"; + } else { + $clean = $args->{'clean'}; + $format = $args->{'format'}; + $out_file = $args->{'output_file'}; + $options = $args->{'options'}; + } + } else { + # Arguments are in a list + $clean = $args; + $format = shift; + $out_file = shift; + $options = \@_; + } + + # Default values; + $clean ||= 0; + $format ||= 'txt'; + + # Generate README + print "readme_from $in_file to $format\n"; + if ($format =~ m/te?xt/) { + $out_file = $self->_readme_txt($in_file, $out_file, $options); + } elsif ($format =~ m/html?/) { + $out_file = $self->_readme_htm($in_file, $out_file, $options); + } elsif ($format eq 'man') { + $out_file = $self->_readme_man($in_file, $out_file, $options); + } elsif ($format eq 'pdf') { + $out_file = $self->_readme_pdf($in_file, $out_file, $options); + } - require Pod::Text; - my $parser = Pod::Text->new(); - open README, '> README' or die "$!\n"; - $parser->output_fh( *README ); - $parser->parse_file( $file ); if ($clean) { - $self->clean_files('README'); + $self->clean_files($out_file); } + return 1; } + +sub _readme_txt { + my ($self, $in_file, $out_file, $options) = @_; + $out_file ||= 'README'; + require Pod::Text; + my $parser = Pod::Text->new( @$options ); + open my $out_fh, '>', $out_file or die "Could not write file $out_file:\n$!\n"; + $parser->output_fh( *$out_fh ); + $parser->parse_file( $in_file ); + close $out_fh; + return $out_file; +} + + +sub _readme_htm { + my ($self, $in_file, $out_file, $options) = @_; + $out_file ||= 'README.htm'; + require Pod::Html; + Pod::Html::pod2html( + "--infile=$in_file", + "--outfile=$out_file", + @$options, + ); + # Remove temporary files if needed + for my $file ('pod2htmd.tmp', 'pod2htmi.tmp') { + if (-e $file) { + unlink $file or warn "Warning: Could not remove file '$file'.\n$!\n"; + } + } + return $out_file; +} + + +sub _readme_man { + my ($self, $in_file, $out_file, $options) = @_; + $out_file ||= 'README.1'; + require Pod::Man; + my $parser = Pod::Man->new( @$options ); + $parser->parse_from_file($in_file, $out_file); + return $out_file; +} + + +sub _readme_pdf { + my ($self, $in_file, $out_file, $options) = @_; + $out_file ||= 'README.pdf'; + eval { require App::pod2pdf; } + or die "Could not generate $out_file because pod2pdf could not be found\n"; + my $parser = App::pod2pdf->new( @$options ); + $parser->parse_from_file($in_file); + open my $out_fh, '>', $out_file or die "Could not write file $out_file:\n$!\n"; + select $out_fh; + $parser->output; + select STDOUT; + close $out_fh; + return $out_file; +} + + sub _all_from { my $self = shift; return unless $self->admin->{extensions}; @@ -44,5 +134,5 @@ __END__ -#line 112 +#line 254 diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/TestBase.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/TestBase.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/TestBase.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/TestBase.pm 2013-02-18 19:41:20.000000000 +0000 @@ -7,7 +7,7 @@ use vars qw($VERSION @ISA); BEGIN { - $VERSION = '0.11'; + $VERSION = '0.60'; @ISA = 'Module::Install::Base'; } diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Win32.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Win32.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/Win32.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/Win32.pm 2013-02-18 19:41:20.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.00'; + $VERSION = '1.06'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/WriteAll.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/WriteAll.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install/WriteAll.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install/WriteAll.pm 2013-02-18 19:41:20.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.00'; + $VERSION = '1.06'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Module/Install.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Module/Install.pm 2013-02-18 19:41:19.000000000 +0000 @@ -31,7 +31,7 @@ # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. - $VERSION = '1.00'; + $VERSION = '1.06'; # Storage for the pseudo-singleton $MAIN = undef; @@ -451,7 +451,7 @@ } sub _cmp ($$) { - _version($_[0]) <=> _version($_[1]); + _version($_[1]) <=> _version($_[2]); } # Cloned from Params::Util::_CLASS @@ -467,4 +467,4 @@ 1; -# Copyright 2008 - 2010 Adam Kennedy. +# Copyright 2008 - 2012 Adam Kennedy. diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Spiffy.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Spiffy.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Spiffy.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Spiffy.pm 2013-02-18 19:41:20.000000000 +0000 @@ -1,17 +1,24 @@ #line 1 +## +# name: Spiffy +# abstract: Spiffy Perl Interface Framework For You +# author: Ingy döt Net +# license: perl +# copyright: 2004, 2006, 2011, 2012 + package Spiffy; use strict; use 5.006001; use warnings; use Carp; require Exporter; -our $VERSION = '0.30'; +our $VERSION = '0.31'; our @EXPORT = (); our @EXPORT_BASE = qw(field const stub super); our @EXPORT_OK = (@EXPORT_BASE, qw(id WWW XXX YYY ZZZ)); our %EXPORT_TAGS = (XXX => [qw(WWW XXX YYY ZZZ)]); -my $stack_frame = 0; +my $stack_frame = 0; my $dump = 'yaml'; my $bases_map = {}; @@ -38,7 +45,7 @@ my $method = shift; $self->$method(shift); } - return $self; + return $self; } my $filtered_files = {}; @@ -46,7 +53,7 @@ my $filter_save = 0; our $filter_result = ''; sub import { - no strict 'refs'; + no strict 'refs'; no warnings; my $self_package = shift; @@ -54,12 +61,12 @@ # subclass's boolean_arguments and paired_arguments can conflict, causing # difficult debugging. Consider using something truly local. my ($args, @export_list) = do { - local *boolean_arguments = sub { + local *boolean_arguments = sub { qw( - -base -Base -mixin -selfless - -XXX -dumper -yaml + -base -Base -mixin -selfless + -XXX -dumper -yaml -filter_dump -filter_save - ) + ) }; local *paired_arguments = sub { qw(-package) }; $self_package->parse_arguments(@_); @@ -79,8 +86,8 @@ unless grep /^XXX$/, @EXPORT_BASE; } - spiffy_filter() - if ($args->{-selfless} or $args->{-Base}) and + spiffy_filter() + if ($args->{-selfless} or $args->{-Base}) and not $filtered_files->{(caller($stack_frame))[1]}++; my $caller_package = $args->{-package} || caller($stack_frame); @@ -91,7 +98,7 @@ next unless $class->isa('Spiffy'); my @export = grep { not defined &{"$caller_package\::$_"}; - } ( @{"$class\::EXPORT"}, + } ( @{"$class\::EXPORT"}, ($args->{-Base} or $args->{-base}) ? @{"$class\::EXPORT_BASE"} : (), ); @@ -99,7 +106,7 @@ not defined &{"$caller_package\::$_"}; } @{"$class\::EXPORT_OK"}; - # Avoid calling the expensive Exporter::export + # Avoid calling the expensive Exporter::export # if there is nothing to do (optimization) my %exportable = map { ($_, 1) } @export, @export_ok; next unless keys %exportable; @@ -163,7 +170,7 @@ sub all_my_bases { my $class = shift; - return $bases_map->{$class} + return $bases_map->{$class} if defined $bases_map->{$class}; my @bases = ($class); @@ -175,10 +182,10 @@ $bases_map->{$class} = [grep {not $used->{$_}++} @bases]; } -my %code = ( - sub_start => +my %code = ( + sub_start => "sub {\n", - set_default => + set_default => " \$_[0]->{%s} = %s\n unless exists \$_[0]->{%s};\n", init => " return \$_[0]->{%s} = do { my \$self = \$_[0]; %s }\n" . @@ -189,13 +196,13 @@ " Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n" . " \$_[0]->{%s};\n" . " } unless \$#_ > 0 or defined \$_[0]->{%s};\n", - return_if_get => + return_if_get => " return \$_[0]->{%s} unless \$#_ > 0;\n", - set => + set => " \$_[0]->{%s} = \$_[1];\n", - weaken => + weaken => " Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n", - sub_end => + sub_end => " return \$_[0]->{%s};\n}\n", ); @@ -229,7 +236,7 @@ if defined $default; $code .= sprintf $code{return_if_get}, $field; $code .= sprintf $code{set}, $field; - $code .= sprintf $code{weaken}, $field, $field + $code .= sprintf $code{weaken}, $field, $field if $args->{-weak}; $code .= sprintf $code{sub_end}, $field; @@ -274,10 +281,10 @@ $package = $args->{-package} if defined $args->{-package}; no strict 'refs'; return if defined &{"${package}::$field"}; - *{"${package}::$field"} = - sub { + *{"${package}::$field"} = + sub { require Carp; - Carp::confess + Carp::confess "Method $field in package $package must be subclassed"; } } @@ -301,7 +308,7 @@ push @values, $elem; } } - return wantarray ? ($args, @values) : $args; + return wantarray ? ($args, @values) : $args; } sub boolean_arguments { () } @@ -325,8 +332,8 @@ package DB; { no warnings 'redefine'; - sub super_args { - my @dummy = caller(@_ ? $_[0] : 2); + sub super_args { + my @dummy = caller(@_ ? $_[0] : 2); return @DB::args; } } @@ -397,7 +404,7 @@ my $inheritor = caller(0); for my $base_class (@base_classes) { next if $inheritor->isa($base_class); - croak "Can't mix Spiffy and non-Spiffy classes in 'use base'.\n", + croak "Can't mix Spiffy and non-Spiffy classes in 'use base'.\n", "See the documentation of Spiffy.pm for details\n " unless $base_class->isa('Spiffy'); $stack_frame = 1; # tell import to use different caller @@ -439,7 +446,7 @@ $methods{$_} ? ($_, \ &{"$methods{$_}\::$_"}) : ($_, \ &{"$mixin_class\::$_"}) - } @_ + } @_ ? (get_roles($mixin_class, @_)) : (keys %methods); } @@ -450,12 +457,12 @@ while (grep /^!*:/, @roles) { @roles = map { s/!!//g; - /^!:(.*)/ ? do { - my $m = "_role_$1"; + /^!:(.*)/ ? do { + my $m = "_role_$1"; map("!$_", $mixin_class->$m); } : /^:(.*)/ ? do { - my $m = "_role_$1"; + my $m = "_role_$1"; ($mixin_class->$m); } : ($_) @@ -534,6 +541,3 @@ 1; -__END__ - -#line 1066 diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Test/Base/Filter.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Test/Base/Filter.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Test/Base/Filter.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Test/Base/Filter.pm 2013-02-18 19:41:20.000000000 +0000 @@ -1,7 +1,4 @@ #line 1 -#. TODO: -#. - #=============================================================================== # This is the default class for handling Test::Base data filtering. #=============================================================================== @@ -341,4 +338,4 @@ __DATA__ -#line 639 +#line 636 diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Test/Base.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Test/Base.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Test/Base.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Test/Base.pm 2013-02-18 19:41:20.000000000 +0000 @@ -1,11 +1,9 @@ #line 1 -# TODO: -# package Test::Base; use 5.006001; use Spiffy 0.30 -Base; use Spiffy ':XXX'; -our $VERSION = '0.59'; +our $VERSION = '0.60'; my @test_more_exports; BEGIN { @@ -536,7 +534,7 @@ sub tie_output() { my $handle = shift; die "No buffer to tie" unless @_; - tie $handle, 'Test::Base::Handle', $_[0]; + tie *$handle, 'Test::Base::Handle', $_[0]; } sub no_diff { @@ -681,4 +679,4 @@ =encoding utf8 -#line 1376 +#line 1374 diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Test/Builder/Module.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Test/Builder/Module.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Test/Builder/Module.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Test/Builder/Module.pm 2013-02-18 19:41:20.000000000 +0000 @@ -8,7 +8,7 @@ require Exporter; our @ISA = qw(Exporter); -our $VERSION = '0.96'; +our $VERSION = '0.98'; $VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval) diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Test/Builder.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Test/Builder.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Test/Builder.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Test/Builder.pm 2013-02-18 19:41:20.000000000 +0000 @@ -5,7 +5,7 @@ use strict; use warnings; -our $VERSION = '0.96'; +our $VERSION = '0.98'; $VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval) BEGIN { @@ -191,6 +191,8 @@ if( $self->{Child_Name} ) { $self->croak("Can't call finalize() with child ($self->{Child_Name}) active"); } + + local $? = 0; # don't fail if $subtests happened to set $? nonzero $self->_ending; # XXX This will only be necessary for TAP envelopes (we think) @@ -224,11 +226,11 @@ return $self->{Indent}; } -#line 357 +#line 359 sub parent { shift->{Parent} } -#line 369 +#line 371 sub name { shift->{Name} } @@ -244,7 +246,7 @@ } } -#line 393 +#line 395 our $Level; @@ -291,7 +293,7 @@ return; } -#line 472 +#line 474 my %plan_cmds = ( no_plan => \&no_plan, @@ -338,7 +340,7 @@ return; } -#line 527 +#line 529 sub expected_tests { my $self = shift; @@ -356,7 +358,7 @@ return $self->{Expected_Tests}; } -#line 551 +#line 553 sub no_plan { my($self, $arg) = @_; @@ -369,7 +371,7 @@ return 1; } -#line 584 +#line 586 sub _output_plan { my($self, $max, $directive, $reason) = @_; @@ -388,7 +390,7 @@ } -#line 636 +#line 638 sub done_testing { my($self, $num_tests) = @_; @@ -431,7 +433,7 @@ } -#line 687 +#line 689 sub has_plan { my $self = shift; @@ -441,7 +443,7 @@ return(undef); } -#line 704 +#line 706 sub skip_all { my( $self, $reason ) = @_; @@ -455,7 +457,7 @@ exit(0); } -#line 729 +#line 731 sub exported_to { my( $self, $pack ) = @_; @@ -466,7 +468,7 @@ return $self->{Exported_To}; } -#line 759 +#line 761 sub ok { my( $self, $test, $name ) = @_; @@ -626,7 +628,7 @@ return $numval != 0 and $numval ne $val ? 1 : 0; } -#line 933 +#line 939 sub is_eq { my( $self, $got, $expect, $name ) = @_; @@ -705,7 +707,7 @@ DIAGNOSTIC } -#line 1026 +#line 1032 sub isnt_eq { my( $self, $got, $dont_expect, $name ) = @_; @@ -739,7 +741,7 @@ return $self->cmp_ok( $got, '!=', $dont_expect, $name ); } -#line 1075 +#line 1081 sub like { my( $self, $this, $regex, $name ) = @_; @@ -755,7 +757,7 @@ return $self->_regex_ok( $this, $regex, '!~', $name ); } -#line 1099 +#line 1105 my %numeric_cmps = map { ( $_, 1 ) } ( "<", "<=", ">", ">=", "==", "!=", "<=>" ); @@ -836,7 +838,7 @@ return $code; } -#line 1199 +#line 1205 sub BAIL_OUT { my( $self, $reason ) = @_; @@ -846,14 +848,14 @@ exit 255; } -#line 1212 +#line 1218 { no warnings 'once'; *BAILOUT = \&BAIL_OUT; } -#line 1226 +#line 1232 sub skip { my( $self, $why ) = @_; @@ -884,7 +886,7 @@ return 1; } -#line 1267 +#line 1273 sub todo_skip { my( $self, $why ) = @_; @@ -912,7 +914,7 @@ return 1; } -#line 1347 +#line 1353 sub maybe_regex { my( $self, $regex ) = @_; @@ -992,7 +994,7 @@ # I'm not ready to publish this. It doesn't deal with array return # values from the code or context. -#line 1443 +#line 1449 sub _try { my( $self, $code, %opts ) = @_; @@ -1012,7 +1014,7 @@ return wantarray ? ( $return, $error ) : $return; } -#line 1472 +#line 1478 sub is_fh { my $self = shift; @@ -1026,7 +1028,7 @@ eval { tied($maybe_fh)->can('TIEHANDLE') }; } -#line 1515 +#line 1521 sub level { my( $self, $level ) = @_; @@ -1037,7 +1039,7 @@ return $Level; } -#line 1547 +#line 1553 sub use_numbers { my( $self, $use_nums ) = @_; @@ -1048,7 +1050,7 @@ return $self->{Use_Nums}; } -#line 1580 +#line 1586 foreach my $attribute (qw(No_Header No_Ending No_Diag)) { my $method = lc $attribute; @@ -1066,7 +1068,7 @@ *{ __PACKAGE__ . '::' . $method } = $code; } -#line 1633 +#line 1639 sub diag { my $self = shift; @@ -1074,7 +1076,7 @@ $self->_print_comment( $self->_diag_fh, @_ ); } -#line 1648 +#line 1654 sub note { my $self = shift; @@ -1111,7 +1113,7 @@ return 0; } -#line 1698 +#line 1704 sub explain { my $self = shift; @@ -1130,7 +1132,7 @@ } @_; } -#line 1727 +#line 1733 sub _print { my $self = shift; @@ -1159,7 +1161,7 @@ return print $fh $indent, $msg; } -#line 1787 +#line 1793 sub output { my( $self, $fh ) = @_; @@ -1255,8 +1257,8 @@ open( $Testout, ">&STDOUT" ) or die "Can't dup STDOUT: $!"; open( $Testerr, ">&STDERR" ) or die "Can't dup STDERR: $!"; - # $self->_copy_io_layers( \*STDOUT, $Testout ); - # $self->_copy_io_layers( \*STDERR, $Testerr ); + $self->_copy_io_layers( \*STDOUT, $Testout ); + $self->_copy_io_layers( \*STDERR, $Testerr ); $self->{Opened_Testhandles} = 1; @@ -1271,14 +1273,22 @@ require PerlIO; my @src_layers = PerlIO::get_layers($src); - binmode $dst, join " ", map ":$_", @src_layers if @src_layers; + _apply_layers($dst, @src_layers) if @src_layers; } ); return; } -#line 1912 +sub _apply_layers { + my ($fh, @layers) = @_; + my %seen; + my @unique = grep { $_ ne 'unix' and !$seen{$_}++ } @layers; + binmode($fh, join(":", "", "raw", @unique)); +} + + +#line 1926 sub reset_outputs { my $self = shift; @@ -1290,7 +1300,7 @@ return; } -#line 1938 +#line 1952 sub _message_at_caller { my $self = shift; @@ -1311,7 +1321,7 @@ } -#line 1978 +#line 1992 sub current_test { my( $self, $num ) = @_; @@ -1344,7 +1354,7 @@ return $self->{Curr_Test}; } -#line 2026 +#line 2040 sub is_passing { my $self = shift; @@ -1357,7 +1367,7 @@ } -#line 2048 +#line 2062 sub summary { my($self) = shift; @@ -1365,14 +1375,14 @@ return map { $_->{'ok'} } @{ $self->{Test_Results} }; } -#line 2103 +#line 2117 sub details { my $self = shift; return @{ $self->{Test_Results} }; } -#line 2132 +#line 2146 sub todo { my( $self, $pack ) = @_; @@ -1386,7 +1396,7 @@ return ''; } -#line 2159 +#line 2173 sub find_TODO { my( $self, $pack, $set, $new_value ) = @_; @@ -1400,7 +1410,7 @@ return $old_value; } -#line 2179 +#line 2193 sub in_todo { my $self = shift; @@ -1409,7 +1419,7 @@ return( defined $self->{Todo} || $self->find_TODO ) ? 1 : 0; } -#line 2229 +#line 2243 sub todo_start { my $self = shift; @@ -1424,7 +1434,7 @@ return; } -#line 2251 +#line 2265 sub todo_end { my $self = shift; @@ -1445,7 +1455,7 @@ return; } -#line 2284 +#line 2298 sub caller { ## no critic (Subroutines::ProhibitBuiltinHomonyms) my( $self, $height ) = @_; @@ -1460,10 +1470,10 @@ return wantarray ? @caller : $caller[0]; } -#line 2301 - #line 2315 +#line 2329 + #'# sub _sanity_check { my $self = shift; @@ -1475,7 +1485,7 @@ return; } -#line 2336 +#line 2350 sub _whoa { my( $self, $check, $desc ) = @_; @@ -1490,7 +1500,7 @@ return; } -#line 2360 +#line 2374 sub _my_exit { $? = $_[0]; ## no critic (Variables::RequireLocalizedPunctuationVars) @@ -1498,7 +1508,7 @@ return 1; } -#line 2372 +#line 2386 sub _ending { my $self = shift; @@ -1617,7 +1627,7 @@ $Test->_ending if defined $Test; } -#line 2560 +#line 2574 1; diff -Nru libdevel-stacktrace-ashtml-perl-0.11/inc/Test/More.pm libdevel-stacktrace-ashtml-perl-0.14/inc/Test/More.pm --- libdevel-stacktrace-ashtml-perl-0.11/inc/Test/More.pm 2011-01-25 07:08:56.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/inc/Test/More.pm 2013-02-18 19:41:20.000000000 +0000 @@ -18,7 +18,7 @@ return warn @_, " at $file line $line\n"; } -our $VERSION = '0.96'; +our $VERSION = '0.98'; $VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval) use Test::Builder::Module; @@ -88,7 +88,7 @@ return $tb->ok( $test, $name ); } -#line 367 +#line 372 sub is ($$;$) { my $tb = Test::More->builder; @@ -104,7 +104,7 @@ *isn't = \&isnt; -#line 411 +#line 416 sub like ($$;$) { my $tb = Test::More->builder; @@ -112,7 +112,7 @@ return $tb->like(@_); } -#line 426 +#line 431 sub unlike ($$;$) { my $tb = Test::More->builder; @@ -120,7 +120,7 @@ return $tb->unlike(@_); } -#line 471 +#line 476 sub cmp_ok($$$;$) { my $tb = Test::More->builder; @@ -128,7 +128,7 @@ return $tb->cmp_ok(@_); } -#line 506 +#line 511 sub can_ok ($@) { my( $proto, @methods ) = @_; @@ -162,7 +162,7 @@ return $ok; } -#line 572 +#line 577 sub isa_ok ($$;$) { my( $object, $class, $obj_name ) = @_; @@ -222,7 +222,7 @@ return $ok; } -#line 651 +#line 656 sub new_ok { my $tb = Test::More->builder; @@ -247,16 +247,16 @@ return $obj; } -#line 736 +#line 741 -sub subtest($&) { +sub subtest { my ($name, $subtests) = @_; my $tb = Test::More->builder; return $tb->subtest(@_); } -#line 760 +#line 765 sub pass (;$) { my $tb = Test::More->builder; @@ -270,7 +270,7 @@ return $tb->ok( 0, @_ ); } -#line 823 +#line 833 sub use_ok ($;@) { my( $module, @imports ) = @_; @@ -332,7 +332,7 @@ return( $eval_result, $eval_error ); } -#line 892 +#line 902 sub require_ok ($) { my($module) = shift; @@ -376,7 +376,7 @@ return $module =~ /^[a-zA-Z]\w*$/ ? 1 : 0; } -#line 969 +#line 979 our( @Data_Stack, %Refs_Seen ); my $DNE = bless [], 'Does::Not::Exist'; @@ -483,7 +483,7 @@ return ''; } -#line 1129 +#line 1139 sub diag { return Test::More->builder->diag(@_); @@ -493,13 +493,13 @@ return Test::More->builder->note(@_); } -#line 1155 +#line 1165 sub explain { return Test::More->builder->explain(@_); } -#line 1221 +#line 1231 ## no critic (Subroutines::RequireFinalReturn) sub skip { @@ -527,7 +527,7 @@ last SKIP; } -#line 1305 +#line 1315 sub todo_skip { my( $why, $how_many ) = @_; @@ -548,7 +548,7 @@ last TODO; } -#line 1360 +#line 1370 sub BAIL_OUT { my $reason = shift; @@ -557,7 +557,7 @@ $tb->BAIL_OUT($reason); } -#line 1399 +#line 1409 #'# sub eq_array { @@ -697,7 +697,7 @@ } } -#line 1546 +#line 1556 sub eq_hash { local @Data_Stack = (); @@ -732,7 +732,7 @@ return $ok; } -#line 1605 +#line 1615 sub eq_set { my( $a1, $a2 ) = @_; @@ -757,6 +757,6 @@ ); } -#line 1807 +#line 1817 1; diff -Nru libdevel-stacktrace-ashtml-perl-0.11/lib/Devel/StackTrace/AsHTML.pm libdevel-stacktrace-ashtml-perl-0.14/lib/Devel/StackTrace/AsHTML.pm --- libdevel-stacktrace-ashtml-perl-0.11/lib/Devel/StackTrace/AsHTML.pm 2011-01-25 07:08:45.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/lib/Devel/StackTrace/AsHTML.pm 2013-02-18 19:41:08.000000000 +0000 @@ -2,7 +2,7 @@ use strict; use 5.008_001; -our $VERSION = '0.11'; +our $VERSION = '0.14'; use Data::Dumper; use Devel::StackTrace; @@ -91,10 +91,11 @@ my $i = 0; while (my $frame = $trace->next_frame) { $i++; + my $next_frame = $trace->frame($i); # peek next $out .= join( '', '
  • ', - $frame->subroutine ? encode_html("in " . $frame->subroutine) : '', + ($next_frame && $next_frame->subroutine) ? encode_html("in " . $next_frame->subroutine) : '', ' at ', $frame->filename ? encode_html($frame->filename) : '', ' line ', @@ -102,7 +103,7 @@ q(
    ),
                 _build_context($frame) || '',
                 q(
    ), - _build_arguments($i, [$frame->args]), + _build_arguments($i, $next_frame), $frame->can('lexicals') ? _build_lexicals($i, $frame->lexicals) : '', q(
  • ), ); @@ -123,16 +124,18 @@ }; sub _build_arguments { - my($id, $args) = @_; + my($id, $frame) = @_; my $ref = "arg-$id"; - return '' unless @$args; + return '' unless $frame && $frame->args; + + my @args = $frame->args; my $html = qq(

    Show function arguments

    ); # Don't use while each since Dumper confuses that - for my $idx (0 .. @$args - 1) { - my $value = $args->[$idx]; + for my $idx (0 .. @args - 1) { + my $value = $args[$idx]; my $dump = $dumper->($value); $html .= qq{}; $html .= qq{}; diff -Nru libdevel-stacktrace-ashtml-perl-0.11/t/output.t libdevel-stacktrace-ashtml-perl-0.14/t/output.t --- libdevel-stacktrace-ashtml-perl-0.11/t/output.t 2009-10-09 07:01:26.000000000 +0000 +++ libdevel-stacktrace-ashtml-perl-0.14/t/output.t 2013-02-18 19:40:45.000000000 +0000 @@ -13,5 +13,6 @@ bar(2); like $html, qr/match.*bar\(2\)/; +like $html, qr!t[\\/]output\.t line 8.*\n.*in main::foo!; done_testing;
    \$_[$idx]