diff -Nru libpod-abstract-perl-0.19/bin/paf libpod-abstract-perl-0.20/bin/paf --- libpod-abstract-perl-0.19/bin/paf 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/bin/paf 2010-01-03 02:01:08.000000000 +0000 @@ -6,7 +6,6 @@ use Pod::Abstract; use Pod::Abstract::Filter; -use UNIVERSAL qw(isa); use File::Temp qw(tempfile tempdir); @@ -207,7 +206,7 @@ ($out, $tmpfilename) = tempfile; } - if(isa($next, 'Pod::Abstract::Node')) { + if(eval { $next->isa( 'Pod::Abstract::Node' ) }) { if($flags{d}) { print $out $next->ptree; } else { diff -Nru libpod-abstract-perl-0.19/Changes libpod-abstract-perl-0.20/Changes --- libpod-abstract-perl-0.19/Changes 2009-06-21 10:40:43.000000000 +0100 +++ libpod-abstract-perl-0.20/Changes 2010-01-03 02:01:08.000000000 +0000 @@ -1,5 +1,12 @@ Revision history for Pod-Abstract +0.20 03/01/2010 + Removed usage of UNIVERSAL isa and can as functions, will correct + a deprecation warning with Perl 5.11. Fixed a bug with + nodes->from_pod which did not work as documented. Corrected some + minor errors with documentation formatting. Added test coverage + for from_pod. + 0.19 21/06/2009 Added =head1 NAME blocks to those modules missing them. Added some additional Pod. Added "Task::Weaken" dependancy to ensure that the diff -Nru libpod-abstract-perl-0.19/debian/changelog libpod-abstract-perl-0.20/debian/changelog --- libpod-abstract-perl-0.19/debian/changelog 2010-01-18 08:36:29.000000000 +0000 +++ libpod-abstract-perl-0.20/debian/changelog 2010-01-18 08:36:29.000000000 +0000 @@ -1,3 +1,22 @@ +libpod-abstract-perl (0.20-1) unstable; urgency=low + + [ Jonathan Yu ] + * New upstream release + * Add myself to Uploaders and Copyright + * Standards-Version 3.8.3 (no changes) + * Rewrite control description + * Add patch to fix POD errors + + [ Salvatore Bonaccorso ] + * debian/control: Changed: Replace versioned (build-)dependency on + perl (>= 5.6.0-{12,16}) with an unversioned dependency on perl (as + permitted by Debian Policy 3.8.3). + + [ Ryan Niebur ] + * Update ryan52's email address + + -- Jonathan Yu Sat, 02 Jan 2010 22:20:22 -0500 + libpod-abstract-perl (0.19-1) unstable; urgency=low * New upstream release diff -Nru libpod-abstract-perl-0.19/debian/control libpod-abstract-perl-0.20/debian/control --- libpod-abstract-perl-0.19/debian/control 2010-01-18 08:36:29.000000000 +0000 +++ libpod-abstract-perl-0.20/debian/control 2010-01-18 08:36:29.000000000 +0000 @@ -1,12 +1,12 @@ Source: libpod-abstract-perl Section: perl Priority: optional -Build-Depends: debhelper (>= 7) -Build-Depends-Indep: libio-string-perl, perl (>= 5.6.0-12) +Build-Depends: debhelper (>= 7.0.8), quilt (>= 0.46-7) +Build-Depends-Indep: perl, libio-string-perl Maintainer: Debian Perl Group Uploaders: Damyan Ivanov , Nathan Handler , - Ryan Niebur -Standards-Version: 3.8.2 + Ryan Niebur , Jonathan Yu +Standards-Version: 3.8.3 Homepage: http://search.cpan.org/dist/Pod-Abstract/ Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libpod-abstract-perl/ Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libpod-abstract-perl/ @@ -15,18 +15,11 @@ Architecture: all Depends: ${misc:Depends}, ${perl:Depends}, libio-string-perl Description: abstract document tree for Perl POD documents - Pod::Abstract provides an abstract, tree-based interface to POD documents. - POD is a simple-to-use markup language mainly used for writing documentation - for Perl, Perl programs, and Perl modules. - . - Pod::Abstract allows straightforward, round-trip capable manipulation of POD - documents, hence allowing features to be added to POD to support your - programming activities without having to write a whole POD processor. + Pod::Abstract provides an abstract, tree-based interface to POD documents. It + allows straightforward, round-trip capable manipulation of POD documentation. . This also allows an easy tree-based mechanism to write a Pod:: type - filter. - . - The package includes a simple, and extensible, command line utility called - "paf" (Pod::Abstract Filter). This program can chain together Pod Abstract - filtering operations, allowing manipulation & extraction of POD documents - from the command line. + filter. The package includes a simple, and extensible, command line utility + called "paf" (Pod::Abstract Filter). This program can chain together filter + operations, allowing manipulation and extraction of POD documents from the + command line. diff -Nru libpod-abstract-perl-0.19/debian/patches/fix-pod-spelling.patch libpod-abstract-perl-0.20/debian/patches/fix-pod-spelling.patch --- libpod-abstract-perl-0.19/debian/patches/fix-pod-spelling.patch 1970-01-01 01:00:00.000000000 +0100 +++ libpod-abstract-perl-0.20/debian/patches/fix-pod-spelling.patch 2010-01-18 08:36:29.000000000 +0000 @@ -0,0 +1,15 @@ +Description: fix POD spelling errors +Author: Jonathan Yu +Origin: vendor +Forwarded: no +--- a/lib/Pod/Abstract/Filter/clear_podcmds.pm ++++ b/lib/Pod/Abstract/Filter/clear_podcmds.pm +@@ -8,7 +8,7 @@ + =head1 NAME + + Pod::Abstract::Filter::clear_podcmds - paf command to remove =pod commands +-from the begining of Pod blocks. ++from the beginning of Pod blocks. + + =cut + diff -Nru libpod-abstract-perl-0.19/debian/patches/series libpod-abstract-perl-0.20/debian/patches/series --- libpod-abstract-perl-0.19/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ libpod-abstract-perl-0.20/debian/patches/series 2010-01-18 08:36:29.000000000 +0000 @@ -0,0 +1 @@ +fix-pod-spelling.patch diff -Nru libpod-abstract-perl-0.19/debian/README.source libpod-abstract-perl-0.20/debian/README.source --- libpod-abstract-perl-0.19/debian/README.source 1970-01-01 01:00:00.000000000 +0100 +++ libpod-abstract-perl-0.20/debian/README.source 2010-01-18 08:36:29.000000000 +0000 @@ -0,0 +1,5 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +See /usr/share/doc/quilt/README.source for a detailed explanation. diff -Nru libpod-abstract-perl-0.19/debian/rules libpod-abstract-perl-0.20/debian/rules --- libpod-abstract-perl-0.19/debian/rules 2010-01-18 08:36:29.000000000 +0000 +++ libpod-abstract-perl-0.20/debian/rules 2010-01-18 08:36:29.000000000 +0000 @@ -1,4 +1,4 @@ #!/usr/bin/make -f %: - dh $@ + dh --with quilt $@ diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/BuildNode.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/BuildNode.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/BuildNode.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/BuildNode.pm 2010-01-03 02:01:08.000000000 +0000 @@ -7,7 +7,7 @@ use Pod::Abstract::Node; use base qw(Exporter); -our $VERSION = '0.19'; +our $VERSION = '0.20'; our @EXPORT_OK = qw(node nodes); @@ -75,8 +75,9 @@ my $str = shift; my $root = Pod::Abstract->load_string($str); + return undef unless $root; - my @r = map { $_->detach } $root->children; + my @r = map { $_->detach; $_ } $root->children; return @r; } @@ -161,6 +162,7 @@ ); my $parser = Pod::Abstract::Parser->new; my $pt = $parser->parse_text($str); + if($pt) { $parser->load_pt($para,$pt); } else { diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/add_podcmds.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/add_podcmds.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/add_podcmds.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/add_podcmds.pm 2010-01-03 02:01:08.000000000 +0000 @@ -4,7 +4,7 @@ use base qw(Pod::Abstract::Filter); use Pod::Abstract::BuildNode qw(node); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/clear_podcmds.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/clear_podcmds.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/clear_podcmds.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/clear_podcmds.pm 2010-01-03 02:01:08.000000000 +0000 @@ -3,7 +3,7 @@ use base qw(Pod::Abstract::Filter); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/cut.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/cut.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/cut.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/cut.pm 2010-01-03 02:01:08.000000000 +0000 @@ -4,7 +4,7 @@ use base qw(Pod::Abstract::Filter); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/find.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/find.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/find.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/find.pm 2010-01-03 02:01:08.000000000 +0000 @@ -5,7 +5,7 @@ use base qw(Pod::Abstract::Filter); use Pod::Abstract::BuildNode qw(node); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME @@ -27,7 +27,7 @@ In order to be useful as an end user tool, head1 nodes (...) are added between the found nodes. This stops perldoc from dying with no documentation. These can be easily stripped using: -C<<$pa->select('/head1')>>, then hoist and detach, or reparent to other +C<< $pa->select('/head1') >>, then hoist and detach, or reparent to other Node types. A good example of this working as intended is: diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/number_sections.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/number_sections.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/number_sections.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/number_sections.pm 2010-01-03 02:01:08.000000000 +0000 @@ -5,7 +5,7 @@ use base qw( Pod::Abstract::Filter ); use Pod::Abstract::BuildNode qw(node); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/overlay.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/overlay.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/overlay.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/overlay.pm 2010-01-03 02:01:08.000000000 +0000 @@ -6,7 +6,7 @@ use Pod::Abstract; use Pod::Abstract::BuildNode qw(node); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/sort.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/sort.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/sort.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/sort.pm 2010-01-03 02:01:08.000000000 +0000 @@ -13,7 +13,7 @@ =cut -our $VERSION = '0.19'; +our $VERSION = '0.20'; sub filter { my $self = shift; diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/summary.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/summary.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/summary.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/summary.pm 2010-01-03 02:01:08.000000000 +0000 @@ -4,7 +4,7 @@ use base qw(Pod::Abstract::Filter); use Pod::Abstract::BuildNode qw(node); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/uncut.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/uncut.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/uncut.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/uncut.pm 2010-01-03 02:01:08.000000000 +0000 @@ -5,7 +5,7 @@ use base qw(Pod::Abstract::Filter); use Pod::Abstract::BuildNode qw(node); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/unoverlay.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/unoverlay.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter/unoverlay.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter/unoverlay.pm 2010-01-03 02:01:08.000000000 +0000 @@ -4,7 +4,7 @@ use base qw(Pod::Abstract::Filter); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Filter.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Filter.pm 2010-01-03 02:01:08.000000000 +0000 @@ -3,9 +3,8 @@ use warnings; use Pod::Abstract; -use UNIVERSAL qw(isa); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME @@ -108,7 +107,7 @@ my $self = shift; my $arg = shift; - if( isa($arg, 'Pod::Abstract::Node') ) { + if( eval { $arg->isa( 'Pod::Abstract::Node' ) } ) { return $self->filter($arg); } else { my $pa = Pod::Abstract->load_string($arg); diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Node.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Node.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Node.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Node.pm 2010-01-03 02:01:08.000000000 +0000 @@ -7,7 +7,7 @@ use Scalar::Util qw(weaken); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME @@ -229,7 +229,7 @@ if($body_attr) { $body = $self->param($body_attr)->pod; } - if(defined $body) { + if(defined $body && $body ne '') { $r .= "=$type $body$p_break"; } else { $r .= "=$type$p_break"; @@ -368,7 +368,7 @@ my %new_params = ( ); foreach my $param (keys %$params) { my $pv = $params->{$param}; - if(ref $pv && UNIVERSAL::can($pv, 'duplicate')) { + if(ref $pv && eval { $pv->can('duplicate') } ) { $new_params{$param} = $pv->duplicate; } elsif(! ref $pv) { $new_params{$param} = $pv; diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Parser.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Parser.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Parser.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Parser.pm 2010-01-03 02:01:08.000000000 +0000 @@ -6,7 +6,7 @@ use Data::Dumper; use base qw(Pod::Parser); -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME @@ -136,7 +136,9 @@ if($no_parse{$top->type} && !$top->param('parse_me')) { my $t_node = Pod::Abstract::Node->new( type => ':text', - body => "=$command $paragraph$p_break", + body => ($paragraph ne '' ? + "=$command $paragraph$p_break" : + "=$command$p_break"), ); $top->push($t_node); return; diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Path.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Path.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Path.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Path.pm 2010-01-03 02:01:08.000000000 +0000 @@ -4,12 +4,11 @@ use Data::Dumper; -use UNIVERSAL qw(isa can); use Pod::Abstract::BuildNode qw(node); $Data::Dumper::Indent = 1; -our $VERSION = '0.19'; +our $VERSION = '0.20'; use constant CHILDREN => 1; # / use constant ALL => 2; # // @@ -469,7 +468,7 @@ my $t_result; # Allow for r_exp to be another expression - generate both # node lists if required. - if(can($r_exp, 'process')) { + if( eval { $r_exp->can('process') } ) { my @r_list = $r_exp->process($n); $t_result = $self->$test_action(\@t_list, \@r_list, $op); } else { @@ -489,7 +488,7 @@ my $r_exp = shift; my $op = shift; - if(scalar(@$r_exp) == 0 || isa($r_exp->[0],'Pod::Abstract::Node')) { + if(scalar(@$r_exp) == 0 || eval { $r_exp->[0]->isa('Pod::Abstract::Node') }) { # combination test my $match = 0; foreach my $l (@$l_list) { diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Serial.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Serial.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Serial.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Serial.pm 2010-01-03 02:01:08.000000000 +0000 @@ -1,6 +1,6 @@ package Pod::Abstract::Serial; use strict; -our $VERSION = '0.19'; +our $VERSION = '0.20'; my $serial_number = 0; @@ -18,7 +18,7 @@ using Data::Dumper etc, unless C is used to bump the number above the highest number read. -Or just serialise your document with C<<$node->pod>> instead! +Or just serialise your document with C<< $node->pod >> instead! =cut diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract/Tree.pm libpod-abstract-perl-0.20/lib/Pod/Abstract/Tree.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract/Tree.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract/Tree.pm 2010-01-03 02:01:08.000000000 +0000 @@ -1,7 +1,7 @@ package Pod::Abstract::Tree; use strict; -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME diff -Nru libpod-abstract-perl-0.19/lib/Pod/Abstract.pm libpod-abstract-perl-0.20/lib/Pod/Abstract.pm --- libpod-abstract-perl-0.19/lib/Pod/Abstract.pm 2009-06-21 10:40:42.000000000 +0100 +++ libpod-abstract-perl-0.20/lib/Pod/Abstract.pm 2010-01-03 02:01:08.000000000 +0000 @@ -7,7 +7,7 @@ use Pod::Abstract::Parser; use IO::String; -our $VERSION = '0.19'; +our $VERSION = '0.20'; =head1 NAME @@ -155,7 +155,7 @@ L, the node selection expression language. This is generally called by doing -C<<$node->select(PATH_EXP)>>. Pod::Abstract::Path is the most complex +C<< $node->select(PATH_EXP) >>. Pod::Abstract::Path is the most complex and powerful component of this module, and if you're not using it you should be. ;) diff -Nru libpod-abstract-perl-0.19/META.yml libpod-abstract-perl-0.20/META.yml --- libpod-abstract-perl-0.19/META.yml 2009-06-21 10:41:03.000000000 +0100 +++ libpod-abstract-perl-0.20/META.yml 2010-01-03 02:01:22.000000000 +0000 @@ -1,7 +1,7 @@ # http://module-build.sourceforge.net/META-spec.html #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: Pod-Abstract -version: 0.19 +version: 0.20 version_from: lib/Pod/Abstract.pm installdirs: site requires: diff -Nru libpod-abstract-perl-0.19/t/03_buildnode.t libpod-abstract-perl-0.20/t/03_buildnode.t --- libpod-abstract-perl-0.19/t/03_buildnode.t 2009-06-21 10:40:40.000000000 +0100 +++ libpod-abstract-perl-0.20/t/03_buildnode.t 2010-01-03 02:01:07.000000000 +0000 @@ -2,7 +2,7 @@ use strict; use warnings; -use Test::More tests => 10; +use Test::More tests => 11; use Pod::Abstract; use Pod::Abstract::BuildNode qw(node nodes); @@ -39,4 +39,11 @@ is( $root->pod, $pod, "Generated correct Pod" ); +my @nodes = nodes->from_pod($pod); +my $root_2 = node->root; +$root_2->nest(@nodes); + +my $pod_2 = $root_2->pod; +is( $pod_2, $pod, "Round tripped same Pod with ->from_pod" ); + 1;