pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/p5-PPIx-Regexp
Module Name: pkgsrc
Committed By: wen
Date: Fri Mar 4 13:12:34 UTC 2016
Modified Files:
pkgsrc/devel/p5-PPIx-Regexp: Makefile distinfo
Log Message:
Update to 0.048
Upstream changes:
0.048 2016-02-29 T. R. Wyant
Add option 'strict', like 'use re "strict"'
In the presence of strict(), I opted to set perl_version_introduced
to the version of Perl where the construct became an error.
Parse '\N{}' as no-op.
The previous parse was a character class ('\N') followed by two
literals ('{' and '}'). But perl5238delta said that it had been
ignored up to that time. Starting with 5.23.8 it is an error if 'use
re strict' is in effect.
Quash 'NOT a POSIX class ...' warning under 5.23.8
Add Makefile targets authortest and testcover.
0.047 2016-01-29 T. R. Wyant
Recognize \b{lb}, introduced in 5.23.7. If this is retracted before
5.24, it will be removed outright.
0.046 2016-01-08 T. R. Wyant
Add GitHub repository to mmetadata.
0.045 2015-12-31 T. R. Wyant
Deprecate tokenizer method prior() in favor of
prior_significant_token(). This is not part of the public interface,
so I suppose I could have just slam-dunked it, but ...
Add ability to parse strings as well as regexes
The new functionality is controlled by the new new() argument
'parse', whose permitted values are 'regex' (the default), 'string',
or 'guess'. String parsing, and the 'string' and 'guess' values of
'parse', are experimental.
0.044 2015-12-08 T. R. Wyant
Allow nesting of \Q with \U, \L, and \F
The perlop docs say these nest with each other. Playing with Perl
suggests that \U, \L and \F supersede each other, but thet they as a
group nest with \Q in either order, so that if you specify \Q and
one of the \U, \L, \F group you need two \Es to turn them all back
off.
Restrict recognition of back references in replacement strings to
\number form, since Perl itself does not recognize \g{...} or
\k{...} there.
Recognize postfix dereference if desired. This is controlled by the
Boolean argument 'postderef' passed to PPIx::Regexp->new(). The
default is false, but will become true if postfix dereference
becomes mainstream Perl 5.
Add explain() and supporting methods main_structure() and
in_regex_set(). The explain() method returns a brief explanation of
what the element does.
0.043 2015-11-18 T. R. Wyant
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.
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}'
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 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. This will be reverted if the
corresponding Perl change does not make it into 5.24.0.
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.
0.042 2015-10-09 T. R. Wyant
Report error rather than failing when parsing a string consisting
wholly of white space.
Group types were not being recognized if they contained the delimiter
character for the regexp (e.g. in qr<(?\<foo)> the look-behind
assertion was not recognized as such).
Correct mis-parse of ' s///'. Leading white space is supposed to be
acceptable, but the leading whitespace token caused
PPIx::Regexp::Lexer not to recognize the substitution as such.
Tokenizer was failing when the string to be parsed was so bad it was
trying to return the whole thing as a single
PPIx::Regexp::Token::Unknown.
PPIx::Regexp::Dumper now displays a message if a structure is missing
its end delimiter.
RT 107331 Produce parse error in the presence of trailing cruft.
Thanks to Klaus Rindfrey for catching this.
The tokenizer now does a preliminary scan for delimiting brackets
and modifiers. Anything after the modifiers except for white space
is now made into a PPIx::Regexp::Token::Unknown, resulting in a
parse failure being reported. The previous implementation simply
assumed a valid expression, and in the case of the expression in the
ticket blithely mismatched the delimiters and returned a parse
without failures, but which was manifestly bogus.
Tweak documentation in PPIx::Regexp.
To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 pkgsrc/devel/p5-PPIx-Regexp/Makefile
cvs rdiff -u -r1.12 -r1.13 pkgsrc/devel/p5-PPIx-Regexp/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index