@@ -14,11 +14,11 @@ a greater than 1 fixed quantifier. This issue was found by Yunho Kim.
14
14
15
15
3. Added support for callouts from pcre2_substitute().
16
16
17
- 4. The POSIX functions are now all called pcre2_regcomp() etc., with wrapper
17
+ 4. The POSIX functions are now all called pcre2_regcomp() etc., with wrapper
18
18
functions that use the standard POSIX names. However, in pcre2posix.h the POSIX
19
19
names are defined as macros. This should help avoid linking with the wrong
20
20
library in some environments while still exporting the POSIX names for
21
- pre-existing programs that use them. (The Debian alternative names are also
21
+ pre-existing programs that use them. (The Debian alternative names are also
22
22
defined as macros, but not documented.)
23
23
24
24
5. Fix an xclass matching issue in JIT.
@@ -33,29 +33,29 @@ new "is lower case letter" bit. At the same time, the now unused "is
33
33
hexadecimal digit" bit was removed. The default tables in
34
34
src/pcre2_chartables.c.dist are updated.
35
35
36
- 8. Implement the new Perl "script run" features (*script_run:...) and
36
+ 8. Implement the new Perl "script run" features (*script_run:...) and
37
37
(*atomic_script_run:...) aka (*sr:...) and (*asr:...).
38
38
39
39
9. Fixed two typos in change 22 for 10.21, which added special handling for
40
- ranges such as a-z in EBCDIC environments. The original code probably never
41
- worked, though there were no bug reports.
40
+ ranges such as a-z in EBCDIC environments. The original code probably never
41
+ worked, though there were no bug reports.
42
42
43
43
10. Implement PCRE2_COPY_MATCHED_SUBJECT for pcre2_match() (including JIT via
44
44
pcre2_match()) and pcre2_dfa_match(), but *not* the pcre2_jit_match() fast
45
- path. Also, when a match fails, set the subject field in the match data to NULL
46
- for tidiness - none of the substring extractors should reference this after
45
+ path. Also, when a match fails, set the subject field in the match data to NULL
46
+ for tidiness - none of the substring extractors should reference this after
47
47
match failure.
48
48
49
- 11. If a pattern started with a subroutine call that had a quantifier with a
50
- minimum of zero, an incorrect "match must start with this character" could be
51
- recorded. Example: /(?&xxx)*ABC(?<xxx>XYZ)/ would (incorrectly) expect 'A' to
52
- be the first character of a match.
49
+ 11. If a pattern started with a subroutine call that had a quantifier with a
50
+ minimum of zero, an incorrect "match must start with this character" could be
51
+ recorded. Example: /(?&xxx)*ABC(?<xxx>XYZ)/ would (incorrectly) expect 'A' to
52
+ be the first character of a match.
53
53
54
- 12. The heap limit checking code in pcre2_dfa_match() could suffer from
55
- overflow if the heap limit was set very large. This could cause incorrect "heap
56
- limit exceeded" errors.
54
+ 12. The heap limit checking code in pcre2_dfa_match() could suffer from
55
+ overflow if the heap limit was set very large. This could cause incorrect "heap
56
+ limit exceeded" errors.
57
57
58
- 13. Add "kibibytes" to the heap limit output from pcre2test -C to make the
58
+ 13. Add "kibibytes" to the heap limit output from pcre2test -C to make the
59
59
units clear.
60
60
61
61
14. Add a call to pcre2_jit_free_unused_memory() in pcre2grep, for tidiness.
@@ -71,77 +71,77 @@ inttypes.h. This supports environments that do not have stdint.h but do have
71
71
inttypes.h, which are known to exist. A note in the autotools documentation
72
72
says (November 2018) that there are none known that are the other way round.
73
73
74
- 17. Added --disable-percent-zt to "configure" (and equivalent to CMake) to
75
- forcibly disable the use of %zu and %td in formatting strings because there is
76
- at least one version of VMS that claims to be C99 but does not support these
74
+ 17. Added --disable-percent-zt to "configure" (and equivalent to CMake) to
75
+ forcibly disable the use of %zu and %td in formatting strings because there is
76
+ at least one version of VMS that claims to be C99 but does not support these
77
77
modifiers.
78
78
79
- 18. Added --disable-pcre2grep-callout-fork, which restricts the callout support
80
- in pcre2grep to the inbuilt echo facility. This may be useful in environments
79
+ 18. Added --disable-pcre2grep-callout-fork, which restricts the callout support
80
+ in pcre2grep to the inbuilt echo facility. This may be useful in environments
81
81
that do not support fork().
82
82
83
- 19. Fix two instances of <= 0 being applied to unsigned integers (the VMS
83
+ 19. Fix two instances of <= 0 being applied to unsigned integers (the VMS
84
84
compiler complains).
85
85
86
- 20. Added "fork" support for VMS to pcre2grep, for running an external program
86
+ 20. Added "fork" support for VMS to pcre2grep, for running an external program
87
87
via a string callout.
88
88
89
89
21. Improve MAP_JIT flag usage on MacOS. Patch by Rich Siegel.
90
90
91
- 22. If a pattern started with (*MARK), (*COMMIT), (*PRUNE), (*SKIP), or (*THEN)
91
+ 22. If a pattern started with (*MARK), (*COMMIT), (*PRUNE), (*SKIP), or (*THEN)
92
92
followed by ^ it was not recognized as anchored.
93
93
94
- 23. The RunGrepTest script used to cut out the test of NUL characters for
95
- Solaris and MacOS as printf and sed can't handle them. It seems that the *BSD
96
- systems can't either. I've inverted the test so that only those OS that are
94
+ 23. The RunGrepTest script used to cut out the test of NUL characters for
95
+ Solaris and MacOS as printf and sed can't handle them. It seems that the *BSD
96
+ systems can't either. I've inverted the test so that only those OS that are
97
97
known to work (currently only Linux) try to run this test.
98
98
99
- 24. Some tests in RunGrepTest appended to testtrygrep from two different file
100
- descriptors instead of redirecting stderr to stdout. This worked on Linux, but
99
+ 24. Some tests in RunGrepTest appended to testtrygrep from two different file
100
+ descriptors instead of redirecting stderr to stdout. This worked on Linux, but
101
101
it was reported not to on other systems, causing the tests to fail.
102
102
103
103
25. In the RunTest script, make the test for stack setting use the same value
104
104
for the stack as it needs for -bigstack.
105
105
106
106
26. Insert a cast in pcre2_dfa_match.c to suppress a compiler warning.
107
107
108
- 26. With PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL set, escape sequences such as \s
109
- which are valid in character classes, but not as the end of ranges, were being
110
- treated as literals. An example is [_-\s] (but not [\s-_] because that gave an
111
- error at the *start* of a range). Now an "invalid range" error is given
108
+ 26. With PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL set, escape sequences such as \s
109
+ which are valid in character classes, but not as the end of ranges, were being
110
+ treated as literals. An example is [_-\s] (but not [\s-_] because that gave an
111
+ error at the *start* of a range). Now an "invalid range" error is given
112
112
independently of PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL.
113
113
114
- 27. Related to 26 above, PCRE2_BAD_ESCAPE_IS_LITERAL was affecting known escape
114
+ 27. Related to 26 above, PCRE2_BAD_ESCAPE_IS_LITERAL was affecting known escape
115
115
sequences such as \eX when they appeared invalidly in a character class. Now
116
116
the option applies only to unrecognized or malformed escape sequences.
117
117
118
118
28. Fix word boundary in JIT compiler. Patch by Mike Munday.
119
119
120
120
29. The pcre2_dfa_match() function was incorrectly handling conditional version
121
- tests such as (?(VERSION>=0)...) when the version test was true. Incorrect
121
+ tests such as (?(VERSION>=0)...) when the version test was true. Incorrect
122
122
processing or a crash could result.
123
123
124
- 30. When PCRE2_UTF is set, allow non-ASCII letters and decimal digits in group
124
+ 30. When PCRE2_UTF is set, allow non-ASCII letters and decimal digits in group
125
125
names, as Perl does. There was a small bug in this new code, found by
126
126
ClusterFuzz 12950, fixed before release.
127
127
128
- 31. Implemented PCRE2_EXTRA_ALT_BSUX to support ECMAScript 6's \u{hhh}
128
+ 31. Implemented PCRE2_EXTRA_ALT_BSUX to support ECMAScript 6's \u{hhh}
129
129
construct.
130
130
131
131
32. Compile \p{Any} to be the same as . in DOTALL mode, so that it benefits
132
132
from auto-anchoring if \p{Any}* starts a pattern.
133
133
134
134
33. Compile invalid UTF check in JIT test when only pcre32 is enabled.
135
135
136
- 34. For some time now, CMake has been warning about the setting of policy
137
- CMP0026 to "OLD" in CmakeLists.txt, and hinting that the feature might be
138
- removed in a future version. A request for CMake expertise on the list produced
139
- no result, so I have now hacked CMakeLists.txt along the lines of some changes
140
- I found on the Internet. The new code no longer needs the policy setting, and
141
- it appears to work fine on Linux.
136
+ 34. For some time now, CMake has been warning about the setting of policy
137
+ CMP0026 to "OLD" in CmakeLists.txt, and hinting that the feature might be
138
+ removed in a future version. A request for CMake expertise on the list produced
139
+ no result, so I have now hacked CMakeLists.txt along the lines of some changes
140
+ I found on the Internet. The new code no longer needs the policy setting, and
141
+ it appears to work fine on Linux.
142
142
143
143
35. Setting --enable-jit=auto for an out-of-tree build failed because the
144
- source directory wasn't in the search path for AC_TRY_COMPILE always. Patch
144
+ source directory wasn't in the search path for AC_TRY_COMPILE always. Patch
145
145
from Ross Burton.
146
146
147
147
0 commit comments