Saturday 11th February 2012
Fedora Project
Tidied up and updated perl-Parse-RecDescent to 1.967006 in F-17 (Bug #789560; Rawhide will inherit this build):
Localize the OUT filehandle during Precompile
Document the <autotree:Base::Class> form of the <autotree> directive
Provide a simple test for the <autotree> directive, t/autotree.t; renamed basics.t to ensure it runs before autotree.t
Allow a global <skip:> directive that functions the same as modifying $Parse::RecDescent::skip prior to compiling a grammar
Require that the $file returned by caller() be eq '-', rather than merely starting with '-'
- Warn on empty productions followed by other productions: the empty production always matches, so following productions will never be reached
Non-backwards-compatible change: a repetition directive such as 'id(s /,/)' correctly creates a temporary @item variable to hold the 'id's that are matched. That @item variable is then used to set the real $item[] entry for that repetition. The same treatment is now given to %item. Formerly, in a production like:
id ',' id(s /,/)
- matched against:
xxx, yyy, zzz
The $item{id} entry that should be 'xxx' is overwritten by 'yyy' and then 'zzz' prior to the action being executed. Now 'yyy' and 'zzz' set $item{id}, but in the private %item, which goes out of scope once the repetition match completes.
Experimental: when precompiling, optionally create a standalone parser by including most of the contents of Parse::RecDescent in the resulting Precompile'd output
Accept an optional $options hashref to Precompile, which can be used to specify $options->{-standalone}, which currently defaults to false
The subroutines import, Precompile and Save are not included in the Precompile'd parser
The included Parse::RecDescent module is renamed to Parse::RecDescent::_Runtime to avoid namespace conflicts with an installed and use'd Parse::RecDescent
Add a new t/precompile.t to test precompilation
Add a new $_FILENAME global to Parse::RecDescent to make it easy for the Precompile method to find the module
Remove the prototype from _generate; it is not required, and it caused t/precompile.t (which ends up re-defining a lot of Parse::RecDescent subroutines) to fail needlessly, as the calls to _generate in Replace and Extend normally do not see the prototype, but do when re-defined
- POD documentation for standalone parsers added
Added ExtUtils::MakeMaker build/configure version requirements (CPAN RT#74787)
Local Packages
Updated perl-Error to 0.17017:
Bleadperl broke Error.pm's tests (CPAN RT#74770)
- Check for optional trailing periods
Updated perl-Parse-RecDescent to 1.967006 as per the Fedora version; it now requires perl ≥ 5.8.1
Updated perl-YAML to 0.80:
Work around Perl RT#35857 on old distributions (CPAN RT#73702)
Make YAML::Node subclass YAML::Mo::Object as well as Exporter