Marc Green
unread,Aug 9, 2011, 9:42:50 PM8/9/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to pod-p...@perl.org, tpf-gsoc...@googlegroups.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