GSoC Status Update

[email protected] (Marc Green)
Newsgroups perl.pod-people
Message-ID <CAAL1P-GT3LGGRQ9KL2e=XXpnaZOdcm56QtOAxywPeQrwb-_w2g@mail.gmail.com>
Hey folks,

I have implemented all error checks from the old Pod::Checker into the new
Pod::Checker *except* for two remaining ones, and maybe a third. The
remaining error/warning checks are 'warn if there is a blank line with only
whitespace on it', 'warn if there is an unknown entity in E<>', and possibly
'warn if there is no argument to the =item directive'. All three require
modifying Pod::Simple, which is why they fell to the bottom of the todo
list. The reason why the third error check is a "maybe" is because I am not
sure if that should even be a warning. I am going to email pod-people
separately to discuss that.

After I have modified Pod::Simple enough to implement the remaining error
checks, I will kindly ask one of my mentors to do a release of Pod::Simple.
Once the release has been merged into core, I can FINALLY RELEASE POD::HTML,
as I have been waiting for this next release to do so (Pod::Html uses
features of Pod::Simple that are not in the latest release). Before I do
release Pod::Html I am going to modify my commit history to neaten it up a
bit.

On the subject of modifying Pod::Simple, throughout the past week I have
added two features to the module. One of them is an additional attribute in
the attribute hash passed to the starting L<> event handler. The attribute
is 'raw', which contains the raw, original text of the L<>, which I needed
to have in order to implement some error checks, and having this attribute
fulfills a perlpodspec suggestion. There is a bug in my implementation
currently where it condenses all surrounding whitespace into a single ' ',
so that, given L<     link    >, 'raw' is " link ". This still works for my
purposes, but it needs to be fixed and I am stumped as to how to do it. I
believe the culprit is either the regex that captures fcodes, but it might
be my implementation of 'raw'.

The second feature I added is passing an attribute hash to the ending event
handlers of =over and =begin directives. The attribute hash contains
'fake-closer', which is set to true if Pod::Simple had to close an =over or
=begin block due to a lack of such closer being present in the POD source. I
added this to implement some error checks. I modified Pod::Simple::Methody
to also pass the attr_hash, but I did not modify any other subclass to take
advantage of the new feature. I doubt anyone else will need it, but I am
going to document it in Pod::Simple::Subclassing just in case.

Thanks,
Marc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.