--- - branch: MAIN date: Thu Apr 27 14:13:07 UTC 2023 files: - new: '1.14' old: '1.13' path: pkgsrc/devel/ruby-regexp_parser/Makefile pathrev: pkgsrc/devel/ruby-regexp_parser/Makefile@1.14 type: modified - new: '1.10' old: '1.9' path: pkgsrc/devel/ruby-regexp_parser/PLIST pathrev: pkgsrc/devel/ruby-regexp_parser/PLIST@1.10 type: modified - new: '1.16' old: '1.15' path: pkgsrc/devel/ruby-regexp_parser/distinfo pathrev: pkgsrc/devel/ruby-regexp_parser/distinfo@1.16 type: modified id: 20230427T141307Z.716f3c67e623e91fddb36c7626090dbc2abbb24a log: | devel/ruby-regexp_parser: update to 2.8.0 2.8.0 (2023-04-17) Added o Regexp::Expression::Shared#ends_at * e.g. parse(/a +/x)[0].ends_at # => 3 * e.g. parse(/a +/x)[0].ends_at(include_quantifier = false) # => 1 o Regexp::Expression::Shared#{capturing?,comment?} * previously only available on capturing and comment groups o Regexp::Expression::Shared#{decorative?} * true for decorations: comment groups as well as comments and whitespace in x-mode o Regexp::Expression::Shared#parent o new format argument :original for Regexp::Expression::Base#to_s * includes decorative elements between node and its quantifier * e.g. parse(/a (?#comment) +/x)[0].to_s(:original) # => "a (?#comment) +" * using it is not needed when calling Root#to_s as Root can't be quantified o support calling Subexpression#{each_expression,flat_map} with a one-argument block * in this case, only the expressions are passed to the block, no indices o support calling test methods at Expression class level * capturing?, comment?, decorative?, referential?, terminal? * e.g. Regexp::Expression::CharacterSet.terminal? # => false Fixed o Regexp::Expression::Shared#full_length with whitespace before quantifier * e.g. parse(/a +/x)[0].full_length used to yield 2, now it yields 3 o Subexpression#to_s output with children with whitespace before their quantifier * e.g. parse(/a + /x).to_s used to yield "a+ ", now it yields "a + " * calling #to_s on sub-nodes still omits such decorative interludes by default - use new #to_s format :original to include it - e.g. parse(/a + /x)[0].to_s(:original) # => "a +" o fixed Subexpression#te behaving differently from other expressions * only Subexpression#te used to include the quantifier * now #te is the end index without quantifier, as for other expressions o fixed NoMethodError when calling #starts_at or #ts on empty sequences * e.g. Regexp::Parser.parse(/|/)[0].starts_at * e.g. Regexp::Parser.parse(/[&&]/)[0][0].starts_at o fixed nested comment groups breaking local x-options * e.g. in /(?x:(?#hello)) /, the x-option wrongly applied to the whitespace o fixed nested comment groups breaking conditionals * e.g. in /(a)(?(1)b|c(?#hello)d)e/, the 2nd conditional branch included "e" o fixed quantifiers after comment groups being mis-assigned to that group * e.g. in /a(?#foo){3}/ (matches 'aaa') o fixed Scanner accepting two cases of invalid Regexp syntax * unmatched closing parentheses ()) and k-backrefs with number 0 (\k<0>) * these are a SyntaxError in Ruby, so could only be passed as a String * they now raise a Regexp::Scanner::ScannerError o fixed some scanner errors not inheriting from Regexp::Scanner::ScannerError o reduced verbosity of inspect / pretty print output module: pkgsrc subject: 'CVS commit: pkgsrc/devel/ruby-regexp_parser' unixtime: '1682604787' user: taca