2022-10-09 09:29:16 by Takahiro Kambe | Files touched by this commit (3) | |
Log message:
devel/ruby-regexp_parser: update to 2.6.0
2.6.0 (2022-09-26)
Fixed
* fixed #referenced_expression for \g<0> (was nil, is now the Root exp)
* fixed #reference, #referenced_expression for recursion level backrefs
- e.g. (a)(b)\k<-1+1>
- #referenced_expression was nil, now it is the correct Group exp
* detect and raise for two more syntax errors when parsing String input
- quantification of option switches (e.g. (?i)+)
- invalid references (e.g. /\k<1>/)
- these are a SyntaxError in Ruby, so could only be passed as a
String
Added
* Regexp::Expression::Base#human_name
- returns a nice, human-readable description of the expression
* Regexp::Expression::Base#optional?
- returns true if the expression is quantified accordingly
(e.g. with *, {,n})
* added a deprecation warning when calling #to_re on set members
|
2022-08-24 18:31:03 by Takahiro Kambe | Files touched by this commit (3) | |
Log message:
devel/ruby-regexp_parser: update to 2.5.0
[2.5.0] - 2022-05-27 - Janosch Müller
Added
* Regexp::Expression::Base.construct and .token_class methods
o see the wiki for details
[2.4.0] - 2022-05-09 - Janosch Müller
Fixed
* fixed interpretation of + and ? after interval quantifiers ({n,n})
- they used to be treated as reluctant or possessive mode indicators
- however, Ruby does not support these modes for interval quantifiers
- they are now treated as chained quantifiers instead, as Ruby does it
- c.f. #3
* fixed Expression::Base#nesting_level for some tree rewrite cases
- e.g. the alternatives in /a|[b]/ had an inconsistent nesting_level
* fixed Scanner accepting invalid posix classes, e.g. [[:foo:]]
- they raise a SyntaxError when used in a Regexp, so could only be
passed as String
- they now raise a Regexp::Scanner::ValidationError in the Scanner
Added
* added Expression::Base#== for (deep) comparison of expressions
* added Expression::Base#parts
- returns the text elements and subexpressions of an expression
- e.g. parse(/(a)/)[0].parts # => ["(", #<Literal \
@text="a"...>, ")"]
* added Expression::Base#te (a.k.a. token end index)
- Expression::Subexpression always had #te, only terminal nodes
lacked it so far
* made some Expression::Base methods available on Quantifier instances, too
- #type, #type?, #is?, #one_of?, #options, #terminal?
- #base_length, #full_length, #starts_at, #te, #ts, #offset
- #conditional_level, #level, #nesting_level , #set_level
- this allows a more unified handling with Expression::Base instances
* allowed Quantifier#initialize to take a token and options Hash like
other nodes
* added a deprecation warning for initializing Quantifiers with 4+ arguments:
Calling Expression::Base#quantify or Quantifier.new with 4+
arguments is deprecated.
It will no longer be supported in regexp_parser v3.0.0.
Please pass a Regexp::Token instead, e.g. replace token, text, min,
max, mode with ::Regexp::Token.new(:quantifier, token, text). min,
max, and mode will be derived automatically.
Or do exp.quantifier = Quantifier.construct(token: token, text: str).
This is consistent with how Expression::Base instances are created.
[2.3.1] - 2022-04-24 - Janosch Müller
Fixed
* removed five inexistent unicode properties from Syntax#features
- these were never supported by Ruby or the Regexp::Scanner
- thanks to Markus Schirp for the report
[2.3.0] - 2022-04-08 - Janosch Müller
Added
* improved parsing performance through Syntax refactoring
- instead of fresh Syntax instances, pre-loaded constants are now re-used
- this approximately doubles the parsing speed for simple regexps
* added methods to Syntax classes to show relative feature sets
- e.g. Regexp::Syntax::V3_2_0.added_features
* support for new unicode properties of Ruby 3.2 / Unicode 14.0
|
2022-02-13 08:16:47 by Takahiro Kambe | Files touched by this commit (3) | |
Log message:
devel/ruby-regexp_parser: update to 2.2.1
2.2.1 (2022-02-11)
Fixed
* fixed Syntax version of absence groups ((?~...))
- the lexer accepted them for any Ruby version
- now they are only recognized for Ruby >= 2.4.1 in which they were
introduced
* reduced gem size by excluding specs from package
* removed deprecated test_files gemspec setting
* no longer depend on yaml/psych (except for Ruby <= 2.4)
* no longer depend on set
- set was removed from the stdlib and made a standalone gem as of Ruby 3
- this made it a hidden/undeclared dependency of regexp_parser
|
2021-12-11 14:32:46 by Takahiro Kambe | Files touched by this commit (3) | |
Log message:
devel/ruby-regexp_parser: update to 2.2.0
2.2.0 (2021-12-04)
Added
* Added support for 13 new unicode properties introduced in Ruby 3.1.0-dev
|
2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016) |
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
|
2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017) |
Log message:
devel: Remove SHA1 hashes for distfiles
|
2021-02-28 16:14:18 by Takahiro Kambe | Files touched by this commit (3) | |
Log message:
devel/ruby-regexp_parser: update to 2.1.1
2.1.1 (2021-02-23)
Fixed
* fixed NameError when requiring only 'regexp_parser/scanner' in v2.1.0
o thanks to Jared White and Sam Ruby for the report
2.1.0 (2021-02-22)
Added
* common ancestor for all scanning/parsing/lexing errors
o Regexp::Parser::Error can now be rescued as a catch-all
o the following errors (and their many descendants) now inherit from it:
- Regexp::Expression::Conditional::TooManyBranches
- Regexp::Parser::ParserError
- Regexp::Scanner::ScannerError
- Regexp::Scanner::ValidationError
- Regexp::Syntax::SyntaxError
o it replaces ArgumentError in some rare cases
(Regexp::Parser.parse('?'))
o thanks to sandstrom for the cue
Fixed
* fixed scanning of whole-pattern recursion calls \g<0> and \g'0'
o a regression in v2.0.1 had caused them to be scanned as literals
* fixed scanning of some backreference and subexpression call edge cases
o e.g. \k<+1>, \g<x-1>
* fixed tokenization of some escapes in character sets
o ., |, {, }, (, ), ^, $, ?, +, *
o all of these correctly emitted #type :literal and #token :literal if
not escaped
o if escaped, they emitted e.g. #type :escape and #token :group_open for
[\(]
o the escaped versions now correctly emit #type :escape and #token
:literal
* fixed handling of control/metacontrol escapes in character sets
o e.g. [\cX], [\M-\C-X]
o they were misread as bunch of individual literals, escapes, and ranges
* fixed some cases where calling #dup/#clone on expressions led to shared
state
|
2021-01-26 16:10:45 by Takahiro Kambe | Files touched by this commit (3) | |
Log message:
devel/ruby-regexp_parser: update to 2.0.3
[2.0.3] - 2020-12-28 - Janosch Müller
Fixed
* fixed error when scanning some unlikely and redundant but valid charset
patterns
- e.g. /[[.a-b.]]/, /[[=e=]]/,
* fixed ancestry of some error classes related to syntax version lookup
- NotImplementedError, InvalidVersionNameError,
UnknownSyntaxNameError
- they now correctly inherit from Regexp::Syntax::SyntaxError
instead of Rubys ::SyntaxError
[2.0.2] - 2020-12-25 - Janosch Müller
Fixed
* fixed FrozenError when calling #to_s on a frozen Group::Passive
- thanks to Daniel Gollahon
[2.0.1] - 2020-12-20 - Janosch Müller
Fixed
* fixed error when scanning some group names
- this affected names containing hyphens, digits or multibyte
chars, e.g. /(?<a1>a)/
- thanks to Daniel Gollahon for the report
* fixed error when scanning hex escapes with just one hex digit
- e.g. /\x0A/ was scanned correctly, but the equivalent /\xA/ was
not
- thanks to Daniel Gollahon for the report
[2.0.0] - 2020-11-25 - Janosch Müller
Changed
* some methods that used to return byte-based indices now return
char-based indices
- the returned values have only changed for Regexps that contain
multibyte chars
- this is only a breaking change if you used such methods directly
AND relied on them pointing to bytes
- affected methods:
Regexp::Token #length, #offset, #te, #ts
Regexp::Expression::Base #full_length, #offset,
#starts_at, #te, #ts
- thanks to Akinori MUSHA for the report
* removed some deprecated methods/signatures
- these are rarely used and have been showing deprecation warnings
for a long time
- Regexp::Expression::Subexpression.new with 3 arguments
- Regexp::Expression::Root.new without a token argument
- Regexp::Expression.parsed
Added
* Regexp::Expression::Base#base_length
- returns the character count of an expression body, ignoring any
quantifier
* pragmatic, experimental support for chained quantifiers
- e.g.: /^a{10}{4,6}$/ matches exactly 40, 50 or 60 as
- successive quantifiers used to be silently dropped by the parser
- they are now wrapped with passive groups as if they were written
(?:a{10}){4,6}
- thanks to calfeld for reporting this a while back
Fixed
* incorrect encoding output for non-ascii comments
- this led to a crash when calling #to_s on parse results
containing such comments
- thanks to Michael Glass for the report
* some crashes when scanning contrived patterns such as '\😋'
[1.8.2] - 2020-10-11 - Janosch Müller
Fixed
* fix FrozenError in Expression::Base#repetitions on Ruby 3.0
- thanks to Thomas Walpole
* removed "unknown future version" warning on Ruby 3.0
[1.8.1] - 2020-09-28 - Janosch Müller
Fixed
* fixed scanning of comment-like text in normal mode
- this was an old bug, but had become more prevalent in v1.8.0
- thanks to Tietew for the report
* specified correct minimum Ruby version in gemspec
- it said 1.9 but really required 2.0 as of v1.8.0
|
2020-06-24 05:00:25 by Takahiro Kambe | Files touched by this commit (1) |
Log message:
devel/ruby-regexp_parser: fix PLIST
Fix PLIST to build success.
|
2020-06-08 00:13:01 by Takahiro Kambe | Files touched by this commit (2) | |
Log message:
devel/ruby-regexp_parser: update to 1.7.1
Update ruby-regexp_parser to 1.7.1
### [1.7.1] - 2020-06-07 - [Ammar Ali](mailto:ammarabuali@gmail.com)
### Fixed
- Support for literals that include the unescaped delimiters `{`, `}`, and `]`. These
delimiters are informally supported by various regexp engines.
|