#acl PaulHowarth:read,write,admin,revert,delete All:read === Saturday 11th February 2012 === ==== Fedora Project ==== * Tidied up and updated `perl-Parse-RecDescent` to 1.967006 in F-17 ([[RedHatBugzilla:789560|Bug #789560]]; Rawhide will inherit this build): * Localize the `OUT` filehandle during `Precompile` * Document the `` form of the `` directive * Provide a simple test for the `` directive, `t/autotree.t`; renamed `basics.t` to ensure it runs before `autotree.t` * Allow a global `` 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:74787|CPAN RT#74787]]) ==== Local Packages ==== * Updated `perl-Error` to 0.17017: * Bleadperl broke `Error.pm`'s tests ([[CPAN:74770|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 [[PerlRT:35857|Perl RT#35857]] on old distributions ([[CPAN:73702|CPAN RT#73702]]) * Make `YAML::Node` subclass `YAML::Mo::Object` as well as `Exporter` ----