Skip Menu |

This queue is for tickets about the Pod-Checker CPAN distribution.

Report information
The Basics
Id: 96199
Status: resolved
Worked: 30 min
Priority: 0/
Queue: Pod-Checker

People
Owner: Marek.Rouchal [...] gmx.net
Requestors: TONYC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Pod::Checker uses experimental features
Hi, I'm working on integrating Pod-Checker 1.70 into blead perl, produces a lot of experimental feature noise with 5.20.0 and with blead: t/pod/podchkenc.t .. push on reference is experimental at /home/tony/dev/cpan/Pod-Checker/blib/lib/Pod/Checker.pm line 806. pop on reference is experimental at /home/tony/dev/cpan/Pod-Checker/blib/lib/Pod/Checker.pm line 811. unshift on reference is experimental at /home/tony/dev/cpan/Pod-Checker/blib/lib/Pod/Checker.pm line 880. shift on reference is experimental at /home/tony/dev/cpan/Pod-Checker/blib/lib/Pod/Checker.pm line 890. push on reference is experimental at /home/tony/dev/cpan/Pod-Checker/blib/lib/Pod/Checker.pm line 942. pop on reference is experimental at /home/tony/dev/cpan/Pod-Checker/blib/lib/Pod/Checker.pm line 947. Also, several files in the distribution have their executable bits on. I've attached two patches, one to remove the executable bits, and the second to switch to the older form for push/pop/shift/unshift. Tony
Subject: 0001-remove-executable-bits.patch
From af9ab8855e0384e50e34196de4f215092703c864 Mon Sep 17 00:00:00 2001 From: Tony Cook <tony@develop-help.com> Date: Wed, 4 Jun 2014 17:00:02 +1000 Subject: [PATCH 1/2] remove executable bits --- 0 files changed mode change 100755 => 100644 lib/Pod/Checker.pm mode change 100755 => 100644 t/pod/contains_bad_pod.xr mode change 100755 => 100644 t/pod/empty.xr mode change 100755 => 100644 t/pod/podchkenc.t mode change 100755 => 100644 t/pod/podchkenc.xr mode change 100755 => 100644 t/pod/poderrs.t mode change 100755 => 100644 t/pod/poderrs.xr mode change 100755 => 100644 t/pod/selfcheck.t mode change 100755 => 100644 t/pod/testcmp.pl mode change 100755 => 100644 t/pod/testpchk.pl diff --git a/lib/Pod/Checker.pm b/lib/Pod/Checker.pm old mode 100755 new mode 100644 diff --git a/t/pod/contains_bad_pod.xr b/t/pod/contains_bad_pod.xr old mode 100755 new mode 100644 diff --git a/t/pod/empty.xr b/t/pod/empty.xr old mode 100755 new mode 100644 diff --git a/t/pod/podchkenc.t b/t/pod/podchkenc.t old mode 100755 new mode 100644 diff --git a/t/pod/podchkenc.xr b/t/pod/podchkenc.xr old mode 100755 new mode 100644 diff --git a/t/pod/poderrs.t b/t/pod/poderrs.t old mode 100755 new mode 100644 diff --git a/t/pod/poderrs.xr b/t/pod/poderrs.xr old mode 100755 new mode 100644 diff --git a/t/pod/selfcheck.t b/t/pod/selfcheck.t old mode 100755 new mode 100644 diff --git a/t/pod/testcmp.pl b/t/pod/testcmp.pl old mode 100755 new mode 100644 diff --git a/t/pod/testpchk.pl b/t/pod/testpchk.pl old mode 100755 new mode 100644 -- 1.7.10.4
Subject: 0002-don-t-use-experimental-push-pop-shift-unshift-on-ref.patch
From 24a3d05a54d8d2e9639a135578e9fa10c24eda02 Mon Sep 17 00:00:00 2001 From: Tony Cook <tony@develop-help.com> Date: Wed, 4 Jun 2014 17:03:51 +1000 Subject: [PATCH 2/2] don't use experimental push/pop/shift/unshift on reference --- lib/Pod/Checker.pm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Pod/Checker.pm b/lib/Pod/Checker.pm index ed1bd0e..57a3cda 100644 --- a/lib/Pod/Checker.pm +++ b/lib/Pod/Checker.pm @@ -803,12 +803,12 @@ sub end_item { sub start_for { # =for and =begin directives my ($self, $flags) = @_; $self->_init_event($flags); - push $self->{'_begin_stack'}, [$self->{'_line'}, $flags->{'target'}]; + push @{$self->{'_begin_stack'}}, [$self->{'_line'}, $flags->{'target'}]; } sub end_for { my ($self, $flags) = @_; - my ($line, $target) = @{pop $self->{'_begin_stack'}}; + my ($line, $target) = @{pop @{$self->{'_begin_stack'}}}; if ($flags->{'fake-closer'}) { # meaning Pod::Simple generated this =end $self->poderror({ -line => $line, -severity => 'ERROR', @@ -877,7 +877,7 @@ sub start_I { shift->start_fcode('I') } sub start_S { shift->start_fcode('S') } sub start_fcode { my ($self, $fcode) = @_; - unshift $self->{'_fcode_stack'}, $fcode; + unshift @{$self->{'_fcode_stack'}}, $fcode; } sub end_B { shift->end_fcode() } @@ -887,7 +887,7 @@ sub end_I { shift->end_fcode() } sub end_S { shift->end_fcode() } sub end_fcode { my $self = shift; - $self->_check_fcode(shift $self->{'_fcode_stack'}, # current fcode removed + $self->_check_fcode(shift @{$self->{'_fcode_stack'}}, # current fcode removed $self->{'_fcode_stack'}); # previous fcodes } @@ -939,12 +939,12 @@ sub start_X { $self->start_fcode('X'); # keep track of where X<> starts in the paragraph # (this is a stack so nested X<>s are handled correctly) - push $self->{'_fcode_pos'}, length $self->{'_thispara'}; + push @{$self->{'_fcode_pos'}}, length $self->{'_thispara'}; } sub end_X { my $self = shift; # extract contents of X<> and replace with '' - my $start = pop $self->{'_fcode_pos'}; # start at the beginning of X<> + my $start = pop @{$self->{'_fcode_pos'}}; # start at the beginning of X<> my $end = length($self->{'_thispara'}) - $start; # end at end of X<> my $x = substr($self->{'_thispara'}, $start, $end, ''); unless ($x) { -- 1.7.10.4
Thanks for the patches - applied and to be released as 1.71 asap.