PaulHowarth/Blog/2015-11-22

Sunday 22nd November 2015

Local Packages

  • Updated perl-Exception-Base to 0.2501:

    • Fixes "Redundant argument in sprintf" warning on Perl 5.21.2
  • Updated perl-PPIx-Regexp to 0.043:

    • Beginning with version 0.035, PPIx::Regexp was incorrectly reporting the sense of modifiers when the same token both asserted and negated modifiers (e.g. '(?x-i:...)'); this release should correct the problem

    • Document policy when Perl changes in such a way that the proper parse for a regular expression changes; in this case the more modern parse is preferred
    • Parse white space inside bracketed character classes inside extended bracketed character classes (whew!) as literals, except for the space character itself and the horizontal tab; this tracks the corresponding change in Perl 5.23.4, and will be reverted if the corresponding Perl change does not make it into 5.24.0
    • Clear error when lexer identifies unknown token; those who peruse the changes in this release will see that a bunch of refactoring was done as part of this

    • Parse \U and friends as meta-characters inside \Q...\E; this turns out to be what Perl itself does, as shown by "perl -E 'say qr{\Q\Ufoo}'"

    • Do not end regex set prematurely on finding '])'; the problem is that '])' can occur within an extended bracketed character class if it contains grouping parentheses and the last item in a group is a regular bracketed character class and there is no white space between the end of the character class and the end of the group

    • Record parse failure if switch condition is unknown; the structure was being reblessed to PPIx::Regexp::Structure::Unknown, but the number of parse failures was not being incremented


Recent