On Wed Sep 18 00:23:13 2013, david@justatheory.com wrote:
Show quoted text> On Sep 17, 2013, at 8:20 PM, Andreas Koenig via RT <bug-Pod-
> Simple@rt.cpan.org> wrote:
>
> > Maybe, but run the snippet with Carp::Always and see who was the last
> > caller:
>
> Hrm. Couldn't replicate using Pod::Man or Pod::Simple. Updated
> Pod::Man, still not replicated. Updated Pod::Simple, replicate (though
> only when using Pod::Man -- not when using Pod::Simple).
>
> So I stepped back in time to each release until I found one that
> didn't die, which was v3.21. Git bisected up to v3.22 and found the
> commit that causes the bug:
>
>
https://github.com/theory/pod-
> simple/commit/b67b902bfd49efb1461d3fc8f31b18c00e56be35
>
> So I've opened an issue on GitHub for it:
>
>
https://github.com/theory/pod-simple/issues/51
David asked me to look at the issue on GitHub since I was responsible for the commit referenced above.
If I understand correctly, the problem being reported here is that this 1-liner:
perl -MPod::Man -e 'Pod::Man->new->parse_string_document("=\x80")'
will die with this error:
Modification of non-creatable array value attempted, subscript -1 at lib/Pod/Man.pm ...
The condition that is triggering this failure is indeed the new parse warning introduced in my commit, however the same result can be triggered on versions of Pod::Simple that pre-date my change, with this 1-liner:
perl -MPod::Man -e 'Pod::Man->new->parse_string_document("=cut")'
The problem seems to relate to the fact that both these snippets of POD source trigger parse warnings but are otherwise empty. Under these circumstances, Pod::Simple will generate an errata section and perhaps Pod::Man is not in a suitable state to handle the errata section if it hasn't seen any preceding document elements (wild guess on my part).
Regards
Grant