Commit Graph

457 Commits

Author SHA1 Message Date
Philip.Hazel e8d70e2459 Implement PCRE2_SUBSTITUTE_REPLACEMENT_ONLY. 2020-01-22 17:50:12 +00:00
Philip.Hazel 7171d86587 Update Windows-specific test output (overlooked wording change). 2020-01-15 16:50:45 +00:00
Philip.Hazel 03720de840 Documentation update and another cunning test pattern. 2020-01-05 12:32:29 +00:00
Philip.Hazel 5ba5230b82 Allow real repetition of assertions. 2020-01-01 12:07:02 +00:00
Philip.Hazel eaf4572ff8 Some test files needed updating for link sizes 3 and 4. 2019-12-29 11:56:45 +00:00
Philip.Hazel ac4ab7186d Add (?* and (?<* synonyms for non-atomic lookarounds. 2019-12-28 13:53:59 +00:00
Philip.Hazel d170829b26 Implement PCRE2_SUBSTITUTE_MATCHED. 2019-12-27 13:35:17 +00:00
Philip.Hazel f3fd8b18cb Implement PCRE2_SUBSTITUTE_LITERAL. 2019-12-26 14:53:24 +00:00
Philip.Hazel 0a2033f0f7 Remove atomic restriction on capture groups containing recursive back
references, as since 10.30 it has been unnecessary.
2019-12-18 16:16:12 +00:00
Philip.Hazel 3c869816ac Fix sometimes failing caseless non-ASCII matching in assertion. 2019-11-16 17:30:07 +00:00
Philip.Hazel 7ecc9cdfaf Fix error offset bug introduced at 1176. 2019-10-16 17:12:13 +00:00
Philip.Hazel e413f3147c Optimize certain starting code unit bit maps into a single starting code unit. 2019-09-13 17:02:06 +00:00
Philip.Hazel d917899be5 Improve starting-byte bit map for UTF-8 patterns with wide characters in
classes.
2019-09-10 15:38:42 +00:00
Philip.Hazel bf15267c30 Optimize classes such as [Aa] to be a single caseless character. 2019-09-09 17:00:19 +00:00
Philip.Hazel 963b570fd0 Back off failed attempt to handle nested lookbehinds for estimating how much of
a partial match to retain for multi-segment matching. Document the current 
difficulty if the whole first segment cannot be retained.
2019-09-04 18:14:54 +00:00
Philip.Hazel 45b219e6bc Fix bug introduced in commit 1133. Lookbehinds that follow a condition were not
always properly handled.
2019-08-26 16:28:26 +00:00
Philip.Hazel 71eb916d79 Fix allusedtext bug, rightmost consulted character incorrect in negative
lookaheads.
2019-08-10 11:34:50 +00:00
Philip.Hazel 59c7c5d100 Fix incorrect computation of group length when one branch exceeded 65535. 2019-08-03 08:30:40 +00:00
Philip.Hazel 630e4bb516 Fix typo in test data comment. 2019-08-01 16:42:36 +00:00
Philip.Hazel aff5a78056 Upgrade to Unicode 12.1.0 2019-07-29 15:32:36 +00:00
Philip.Hazel fe2df37c9f Documentation and test update. 2019-07-28 15:32:11 +00:00
Philip.Hazel 24c62fc0d0 (*ACCEPT) at start of branch was not recording "may match empty string". 2019-07-23 16:58:57 +00:00
Zoltán Herczeg 82a4729e13 Follow the partial matching changes in JIT. 2019-07-23 12:34:58 +00:00
Philip.Hazel 3572634086 More partial match tweaks. 2019-07-22 16:30:44 +00:00
Philip.Hazel c84a06c96e Update definition of partial match and fix \z and \Z (as documented). 2019-07-21 16:48:13 +00:00
Philip.Hazel c30815f5a1 Fix bug in recent patch for lookbehinds within lookaheads. Fixes ClusterFuzz
15933.
2019-07-18 17:20:29 +00:00
Philip.Hazel 0d0ee67eb0 Check start code unit bit map for setting minimum length. 2019-07-16 16:16:45 +00:00
Philip.Hazel 046c5cd21c Fix lookbehind within lookahead within lookbehind misbehaviour bug. 2019-07-16 15:06:21 +00:00
Philip.Hazel 66811c6c73 Fix oversights in recent non-atomic assertions patch. Fixes ClusterFuzz 15837. 2019-07-15 16:04:13 +00:00
Philip.Hazel 620f3a1307 Implement non-atomic positive assertions. 2019-07-13 11:12:03 +00:00
Philip.Hazel f985a68ea5 Additional overflow test. 2019-07-05 15:49:37 +00:00
Philip.Hazel 2e06fdcdc1 Check for integer overflow when computing lookbehind lengths. Fixes Clusterfuzz
issue 13656.
2019-07-04 17:01:53 +00:00
Philip.Hazel 4866bd3652 Fix bugs in recent patch for setting the maximum lookbehind. 2019-06-28 16:58:08 +00:00
Philip.Hazel c0d0ee5365 Fix partial matching bug in pcre2_dfa_match(). 2019-06-26 16:13:28 +00:00
Philip.Hazel 434e3f7468 Make pcre2test show actual pre-match consulted characters for a partial match,
not the length of the longest lookbehind. Control this by "allusedtext".
2019-06-26 08:23:47 +00:00
Philip.Hazel d21f7daf9b Improve maximum lookbehind calculation for nested lookbehinds. 2019-06-25 15:40:42 +00:00
Philip.Hazel 175b4919f7 Update tests. 2019-06-20 17:19:13 +00:00
Philip.Hazel 8eb01ad8a9 Typo in doc and update tests 2019-06-20 16:37:30 +00:00
Philip.Hazel da5155fed3 Don't ignore {1}+ when it is applied to a parenthesized item. 2019-06-19 16:27:50 +00:00
Philip.Hazel ef79b978a6 Fix minimum length bug for patterns containing (*ACCEPT). 2019-06-18 16:07:43 +00:00
Philip.Hazel 1ebc2c50cc Another extension to minimum length calculation. 2019-06-17 16:26:44 +00:00
Philip.Hazel ead78198d1 Improve minimum length finder in the presence of back references when there are
multiple groups with the same number.
2019-06-16 15:37:45 +00:00
Philip.Hazel 0d1ab8515f Fix pcre2grep -o bug when ovector overflows; add option to adjust the limit;
raise the default limit; give error if -o requests an uncaptured parens.
2019-06-15 15:51:07 +00:00
Philip.Hazel 300bf6e2d6 Another fix to the recent (*ACCEPT) patch. Fixes clusterfuzz 15242. 2019-06-14 15:44:57 +00:00
Philip.Hazel 49f174ef78 Make pcre2_match() return (*MARK) names from successful conditional assertions,
as Perl and the JIT do.
2019-06-13 16:49:40 +00:00
Philip.Hazel 1f6b9097f4 Minor improvement to minimum length calculation. 2019-06-13 16:00:11 +00:00
Philip.Hazel f0c06ee212 Fix minor oversight in previous patch. Fixes clusterfuzz 15199. 2019-06-11 07:37:29 +00:00
Philip.Hazel 306f2b9c57 Allow (*ACCEPT) to be quantified. 2019-06-10 16:41:22 +00:00
Philip.Hazel 4f31de2866 Add support for invalid UTF-8 matching to pcre2grep. 2019-05-28 14:14:22 +00:00
Philip.Hazel 16c046ce50 Implement support for invalid UTF in the pcre2_match() interpreter. 2019-05-24 17:15:48 +00:00