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

Reply via email to