Re: no deprecation warning for Lsection

2011-05-01 Thread Nicholas Clark
On Sat, Apr 30, 2011 at 05:31:00PM +0100, Michael Stevens wrote:
 On Fri, Apr 29, 2011 at 08:58:37AM -0600, Karl Williamson wrote:
  People on this list might be interested in the extensions to  
  Pod::Checker, some of which might be considered for pulling back into  
  Pod::Checker.  Attached is the current pod for podcheck.t
 
 I have things I'd like to change in Pod::Checker, but it seems to be
 considered untouchable until the move to Pod::Simple.

It somewhat is, as a side effect of the attempt at having a consistent policy
on what is upstream.

Pod::Checker is part of the Pod-Parser distribution.
The core's who owns what file, Porting/Maintainers.pl, says that Pod-Parser
isn't maintained in core, and that upstream is MAREKR.
MAREKR says that is (well), effectively dead.

So the core policy works out as send patches to MAREKR and MAREKR's policy
works out as no thanks. Which isn't exactly ideal.


At which point, the two obvious routes forward to resolve this are either

a: move to maintaining Pod-Parser as part of the core

or

b: more to eliminating the need for Pod-Parser


and the consensus seems to be that (b) is far less insane. I think that what's
then gone wrong is that no-one wants to start on it, but given that it is
the future, everyone thinks that doing anything in the direction of (a) is a
waste of effort.

Which stalls.

Nicholas Clark


Re: no deprecation warning for Lsection

2011-05-01 Thread Ricardo Signes
* Nicholas Clark n...@ccl4.org [2011-05-01T05:34:08]
 a: move to maintaining Pod-Parser as part of the core
 or
 b: more to eliminating the need for Pod-Parser
 
 and the consensus seems to be that (b) is far less insane. I think that
 what's then gone wrong is that no-one wants to start on it, but given that
 it is the future, everyone thinks that doing anything in the direction of (a)
 is a waste of effort.

(b) gets started on tomorrow.

-- 
rjbs


Re: no deprecation warning for Lsection

2011-05-01 Thread David E. Wheeler
On May 1, 2011, at 10:01 AM, Michael Stevens wrote:

 Is there going to be anywhere we can see progress / heckle?

I was just thinking that we ought to ask Marc to sign up for this list and have 
discussions here. Ric?

David



Re: no deprecation warning for Lsection

2011-05-01 Thread David E. Wheeler
On May 1, 2011, at 11:38 AM, Marc wrote:

 I was just thinking that we ought to ask Marc to sign up for this list and 
 have discussions here. Ric?
 
 Present and standing by ;)

Mac++

This is going to be great!

Best,

David



Re: no deprecation warning for Lsection

2011-04-29 Thread Karl Williamson

On 04/29/2011 04:14 AM, Michael Stevens wrote:

On Thu, Apr 28, 2011 at 07:12:49PM -0400, Ricardo Signes wrote:

* Michael Stevensmstev...@etla.org  [2011-04-28T17:03:36]

Has it got a victim^Wvolunteer?


Yup.  Marc Green (the student) and David Wheeler and I will have our first
meeting to kick things off in a few days.  From there on, a state of constant
progress!



From my experiments in the area I predict the problem will be getting

people interested and willing to accept or reject patches.

Michael



FWIW, one of the reasons I've brought up a bunch of stuff concerning 
this lately, is that I'm about to add to the Perl 5.15 core a revision 
of podcheck.t which extends Pod::Checker.  I had wondered if I should 
add checking for the deprecated constructs, but now I'll let 
Pod::Checker do so.



People on this list might be interested in the extensions to 
Pod::Checker, some of which might be considered for pulling back into 
Pod::Checker.  Attached is the current pod for podcheck.t
=pod

=head1 NAME

podcheck.t - Look for possible problems in the Perl pods

=head1 SYNOPSIS

 cd t
 ./perl -I../lib porting/podcheck.t [--show_all] [--cpan] [--counts]
[ FILE ...]
 ./perl -I../lib porting/podcheck.t --regen

=head1 DESCRIPTION

podcheck.t is an extension of Pod::Checker.  It looks for pod errors and
potential errors in the files given as arguments, or if none specified, in all
pods in the distribution workspace, except those in the cpan directory (unless
C--cpan is specified).  It does additional checking beyond that done by
Pod::Checker, and keeps a database of known potential problems, and will
fail a pod only if the number of such problems differs from that given in the
database.  It also suppresses the C(section) deprecated message from
Pod::Checker, since specifying the man page section number is quite proper to 
do.

The additional checks it makes are:

=over

=item Cross-pod link checking

Pod::Checker verifies that links to an internal target in a pod are not
broken.  podcheck.t extends that (when called without FILE arguments) to
external links.  It does this by gathering up all the possible targets in the
workspace, and cross-checking them.  The database has a list of known targets
outside the workspace, so podcheck.t will not raise a warning for
using those.  It also checks that a non-broken link points to just one target.
(The destination pod could have two targets with the same name.)

=item An internal link that isn't so specified

If a link is broken, but there is an existing internal target of the same
name, it is likely that the internal target was meant, and the C/ is
missing from the CLEltEgt pod command.

=item Verbatim paragraphs that wrap in an 80 column window

It's annoying to have lines wrap when displaying pod documentation in a
terminal window.  This checks that all such lines fit, and for those that
don't, it tells you how much needs to be cut in order to fit.  However,
if you're fixing these, keep in mind that some terminal/pager combinations
require really a maximum of 79 or 78 columns to display properly.

Often, the easiest thing to do to gain space for these is to lower the indent
to just one space.

=item Missing or duplicate NAME or missing NAME short description

A pod can't be linked to unless it has a unique name.
And a NAME should have a dash and short description after it.

=item =encoding statement issues

This indicates if an C=encoding statement should be present, or moved to the
front of the pod.

=item Items that perhaps should be links

There are mentions of apparent files in the pods that perhaps should be links
instead, using CLElt...Egt

=item Items that perhaps should be CFElt...Egt

What look like path names enclosed in CCElt...Egt should perhaps have 
CFElt...Egt mark-up instead.

=back

A number of issues raised by podcheck.t and by the base Pod::Checker are not
really problems, but merely potential problems.  After inspecting them and
deciding that they aren't real problems, it is possible to shut up this program
about them, unlike base Pod::Checker.  To do this, call podcheck.t with the
C--regen option to regenerate the database.  This tells it that all existing
issues are to not be mentioned again.

This isn't fool-proof.  The database merely keeps track of the number of these
potential problems of each type for each pod.  If a new problem of a given
type is introduced into the pod, podcheck.t will spit out all of them.  You
then have to figure out which is the new one, and should it be changed or not.
But doing it this way insulates the database from having to keep track of line
numbers of problems, which may change, or the exact wording of each problem
which might also change without affecting whether it is a problem or not.

Also, if the count of potential problems of a given type for a pod decreases,
the database must be regenerated so that it knows the new number.  The program
gives 

Re: no deprecation warning for Lsection

2011-04-28 Thread Ricardo Signes
* Karl Williamson pub...@khwilliamson.com [2011-04-27T13:52:50]
 I notice that perldoc does not warn on this being deprecated.  Is
 this by design?

I can't say with certainty, but I would wager that this is an oversight.  Maybe
we can get that addressed after 5.14 and, better, can get it into Pod::Checker
after it's updated to use Pod::Simpler.  That's part of a GSoC task this
summer.

-- 
rjbs


Re: no deprecation warning for Lsection

2011-04-28 Thread Ricardo Signes
* Michael Stevens mstev...@etla.org [2011-04-28T17:03:36]
 Has it got a victim^Wvolunteer?

Yup.  Marc Green (the student) and David Wheeler and I will have our first
meeting to kick things off in a few days.  From there on, a state of constant
progress!

-- 
rjbs


no deprecation warning for Lsection

2011-04-27 Thread Karl Williamson

I was reading podspec, and saw this

 Previous versions of perlpod allowed for a Lsection syntax (as in 
LObject Attributes), which was not easily distinguishable from 
Lname syntax and for Lsection 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 Lsection syntax, for a 
while at least.  The suggested heuristic for distinguishing Lsection 
from Lname is that if it contains any whitespace, it's a section. 
Pod processors should warn about this being deprecated syntax.


I notice that perldoc does not warn on this being deprecated.  Is this 
by design?