"karl williamson via RT" <bug-podlators@rt.cpan.org> writes:
Show quoted text> Nesting L<> is illegal, as this quote from perlpodspec indicates:
Show quoted text> Authors must not nest L<...> codes. For example, "L<The L<Foo::Bar>
> man page>" should be treated as an error.
Show quoted text> Yet, the file t/data/basic.pod includes a nested L<> and expects it to
> work properly:
Show quoted text
Show quoted text> We are thinking of changing Pod::Simple to detect this illegal nesting,
> but doing so causes these tests to fail.
So, the history of this is that this used to always work in POD documents.
But when writing Pod::Simple, the original author declared a few things
that had previously worked as no longer permitted in the specification.
I'm sympathetic, since I'm not sure that construct makes sense. But I
tend to take a very conservative approach to backward compatibility. This
is being tested because I'm sure there are real POD documents out there in
the wild that do this, since it has always worked in the past. So, this
felt a bit like breaking the compatibility contract with POD users, and I
added a test to be explicit about maintaining that contract.
If you're comfortable just breaking those POD documents, I'm willing to
follow along. I just want to be sure that's a considered decision to
break backward compatibility and that folks have given some thought to the
consequences and how this will impact various projects. (Mostly because
the people whose POD documents break are all going to yell at me, and then
I'll end up redirecting them to the spec and to Pod::Simple as the code
that actually made this change... :P)
--
#!/usr/bin/perl -- Russ Allbery, Just Another Perl Hacker
$^=q;@!>~|{>krw>yn{u<$$<[~||<Juukn{=,<S~|}<Jwx}qn{<Yn{u<Qjltn{ > 0gFzD gD,
00Fz, 0,,( 0hF 0g)F/=, 0> "L$/GEIFewe{,$/ 0C$~> "@=,m,|,(e 0.), 01,pnn,y{
rw} >;,$0=q,$,,($_=$^)=~y,$/ C-~><@=\n\r,-~$:-u/ #y,d,s,(\$.),$1,gee,print