GSoC Status Update

4 views
Skip to first unread message

Marc Green

unread,
Aug 9, 2011, 9:42:50 PM8/9/11
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

Reply all
Reply to author
Forward
0 new messages