What to do about L<Foo Bar> and L<"Foo Bar">
[email protected] (Karl Williamson) Mon, 28 May 2018 21:49:50 -0600
| Newsgroups | perl.pod-people |
|---|---|
| Message-ID | <[email protected]> |
podspec says this: Previous versions of perlpod allowed for a "L<section>" syntax (as in "L<Object Attributes>"), which was not easily distinguishable from "L<name>" syntax and for "L<"section">" which was only slightly less ambiguous. This syntax is no longer in the specification, and has been replaced by the "L</section>" syntax (where the slash was formerly optional). Pod parsers should tolerate the "L<"section">" syntax, for a while at least. The suggested heuristic for distinguishing L<section>" from "L<name>" is that if it contains any whitespace, it's a section. Pod processors should warn about this being deprecated syntax. Pod:Simple accepts these without complaint. If I change things to complain, a bunch of things in the perl core are found to be in violation, even of the deprecated syntax. The question is what to do? 1) We could leave things as they always have been, to let sleeping dogs lie. It's worked for so long that we're not seriously going to stop accepting these. 2) Raise the warnings, either on both cases or just the deprecated 3) Don't raise warnings, but change Pod::Checker to do so, under the theory that you won't be using that unless you want to know the iffy things. Maybe make the deprecated come out always, and the tolerated only for level 2 warnings. I'm leaning towards option 3).