Skip to content

Commit 7c49b40

Browse files
committed
File and documentation tidies for 10.41 release
1 parent 106faa2 commit 7c49b40

22 files changed

+143
-113
lines changed

ChangeLog

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ Change Log for PCRE2 - see also the Git log
22
-------------------------------------------
33

44

5-
Version 10.41 xx-xxx-2022
6-
-------------------------
5+
Version 10.41 06-December-2022
6+
------------------------------
77

88
1. Add fflush() before and after a fork callout in pcre2grep to get its output
9-
to be the same on all systems. (THere were previously ordering differences in
9+
to be the same on all systems. (There were previously ordering differences in
1010
Alpine Linux).
1111

1212
2. Merged patch from @carenas (GitHub #110) for pthreads support in CMake.
@@ -32,35 +32,35 @@ tidied up an untidy #ifdef arrangement in pcre2test.
3232
8. Fixed an issue in the backtracking optimization of character repeats in
3333
JIT. Furthermore optimize star repetitions, not just plus repetitions.
3434

35-
9. Removed the use of an initial backtracking frames vector on the system stack
36-
in pcre2_match() so that it now always uses the heap. (In a multi-thread
37-
environment with very small stacks there had been an issue.) This also is
38-
tidier for JIT matching, which didn't need that vector. The heap vector is now
39-
remembered in the match data block and re-used if that block itself is re-used.
35+
9. Removed the use of an initial backtracking frames vector on the system stack
36+
in pcre2_match() so that it now always uses the heap. (In a multi-thread
37+
environment with very small stacks there had been an issue.) This also is
38+
tidier for JIT matching, which didn't need that vector. The heap vector is now
39+
remembered in the match data block and re-used if that block itself is re-used.
4040
It is freed with the match data block.
4141

4242
10. Adjusted the find_limits code in pcre2test to work with change 9 above.
4343

44-
11. Added find_limits_noheap to pcre2test, because the heap limits are now
45-
different in different environments and so cannot be included in the standard
44+
11. Added find_limits_noheap to pcre2test, because the heap limits are now
45+
different in different environments and so cannot be included in the standard
4646
tests.
4747

48-
12. Created a test for pcre2_match() heap processing that is not part of the
49-
tests run by 'make check', but can be run manually. The current output is from
48+
12. Created a test for pcre2_match() heap processing that is not part of the
49+
tests run by 'make check', but can be run manually. The current output is from
5050
a 64-bit system.
5151

5252
13. Implemented -Z aka --null in pcre2grep.
5353

5454
14. A minor change to pcre2test and the addition of several new pcre2grep tests
55-
have improved LCOV coverage statistics. At the same time, code in pcre2grep and
55+
have improved LCOV coverage statistics. At the same time, code in pcre2grep and
5656
elsewhere that can never be obeyed in normal testing has been excluded from
5757
coverage.
5858

5959
15. Fixed a bug in pcre2grep that could cause an extra newline to be written
6060
after output generaed by --output.
6161

62-
16. If a file has a .bz2 extension but is not in fact compressed, pcre2grep
63-
should process it as a plain text file. A bug stopped this happening; now fixed
62+
16. If a file has a .bz2 extension but is not in fact compressed, pcre2grep
63+
should process it as a plain text file. A bug stopped this happening; now fixed
6464
and added to the tests.
6565

6666
17. When pcre2grep was running not in UTF mode, if a string specified by
@@ -75,20 +75,22 @@ pointers had out of place PCRE2_CALL_CONVENTION in src/pcre2.h.*. These
7575
produced errors when building for Windows with #define PCRE2_CALL_CONVENTION
7676
__stdcall.
7777

78-
20. A negative repeat value in a pcre2test subject line was not being
78+
20. A negative repeat value in a pcre2test subject line was not being
7979
diagnosed, leading to infinite looping.
8080

81-
21. Updated RunGrepTest to discard the warning that Bash now gives when setting
82-
LC_CTYPE to an bad value (because older versions didn't).
81+
21. Updated RunGrepTest to discard the warning that Bash now gives when setting
82+
LC_CTYPE to a bad value (because older versions didn't).
8383

84-
22. Updated pcre2grep so that it behaves like GNU grep when matching more than
85-
one pattern and a later pattern matches at an earlier point in the subject when
84+
22. Updated pcre2grep so that it behaves like GNU grep when matching more than
85+
one pattern and a later pattern matches at an earlier point in the subject when
8686
the matched substrings are being identified by colour or by offsets.
8787

88-
23. Updated the PrepareRelease script so that the man page that it makes for
89-
the pcre2demo demonstration program is more standard and does not cause errors
88+
23. Updated the PrepareRelease script so that the man page that it makes for
89+
the pcre2demo demonstration program is more standard and does not cause errors
9090
when processed by lexgrog or mandb -c (GitHub issue #160).
9191

92+
24. The JIT compiler was updated.
93+
9294

9395
Version 10.40 15-April-2022
9496
---------------------------

Makefile.am

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,15 +632,23 @@ EXTRA_DIST += \
632632
testdata/grepinput \
633633
testdata/grepinput3 \
634634
testdata/grepinput8 \
635+
testdata/grepinputC.bz2 \
636+
testdata/grepinputC.gz \
635637
testdata/grepinputM \
636638
testdata/grepinputv \
637639
testdata/grepinputx \
638640
testdata/greplist \
641+
testdata/grepnot.bz2 \
639642
testdata/grepoutput \
640643
testdata/grepoutput8 \
641644
testdata/grepoutputC \
642645
testdata/grepoutputCN \
646+
testdata/grepoutputCNU \
647+
testdata/grepoutputCU \
648+
testdata/grepoutputCbz2 \
649+
testdata/grepoutputCgz \
643650
testdata/grepoutputN \
651+
testdata/grepoutputUN \
644652
testdata/greppatN4 \
645653
testdata/testbtables \
646654
testdata/testinput1 \
@@ -670,6 +678,7 @@ EXTRA_DIST += \
670678
testdata/testinput25 \
671679
testdata/testinput26 \
672680
testdata/testinputEBC \
681+
testdata/testinputheap \
673682
testdata/testoutput1 \
674683
testdata/testoutput2 \
675684
testdata/testoutput3 \
@@ -713,6 +722,9 @@ EXTRA_DIST += \
713722
testdata/testoutput25 \
714723
testdata/testoutput26 \
715724
testdata/testoutputEBC \
725+
testdata/testoutputheap-16 \
726+
testdata/testoutputheap-32 \
727+
testdata/testoutputheap-8 \
716728
testdata/valgrind-jit.supp \
717729
testdata/wintestinput3 \
718730
testdata/wintestoutput3 \

NEWS

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@ News about PCRE2 releases
22
-------------------------
33

44

5+
Version 10.41 06-December-2022
6+
------------------------------
7+
8+
This is another mainly bug-fixing and code-tidying release. There is one
9+
significant upgrade to pcre2grep: it now behaves like GNU grep when matching
10+
more than one pattern and a later pattern matches at an earlier point in the
11+
subject when the matched substrings are being identified by colour or by
12+
offsets.
13+
14+
515
Version 10.40 15-April-2022
616
---------------------------
717

RunGrepTest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ if [ $? -ne 0 ]; then
846846
echo "RC=2" >>testtrygrep
847847
else
848848

849-
# Bash has started giving a warning when LC_CTYPE is set to a bad value. In
849+
# Bash has started giving a warning when LC_CTYPE is set to a bad value. In
850850
# order to remain compatible with older versions, the following code is a bit
851851
# contorted.
852852

configure.ac

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ dnl be defined as -RC2, for example. For real releases, it should be empty.
1111
m4_define(pcre2_major, [10])
1212
m4_define(pcre2_minor, [41])
1313
m4_define(pcre2_prerelease, [])
14-
m4_define(pcre2_date, [2022-xx-xx])
14+
m4_define(pcre2_date, [2022-12-06])
1515

1616
# Libtool shared library interface versions (current:revision:age)
17-
m4_define(libpcre2_8_version, [11:0:11])
18-
m4_define(libpcre2_16_version, [11:0:11])
19-
m4_define(libpcre2_32_version, [11:0:11])
20-
m4_define(libpcre2_posix_version, [3:2:0])
17+
m4_define(libpcre2_8_version, [11:1:11])
18+
m4_define(libpcre2_16_version, [11:1:11])
19+
m4_define(libpcre2_32_version, [11:1:11])
20+
m4_define(libpcre2_posix_version, [3:3:0])
2121

2222
# NOTE: The CMakeLists.txt file searches for the above variables in the first
2323
# 50 lines of this file. Please update that if the variables above are moved.

doc/html/pcre2api.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1381,7 +1381,7 @@ <h1>pcre2api man page</h1>
13811381
NULL immediately. Otherwise, the variables to which these point are set to an
13821382
error code and an offset (number of code units) within the pattern,
13831383
respectively, when <b>pcre2_compile()</b> returns NULL because a compilation
1384-
error has occurred.
1384+
error has occurred.
13851385
</P>
13861386
<P>
13871387
There are nearly 100 positive error codes that <b>pcre2_compile()</b> may return

doc/html/pcre2grep.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ <h1>pcre2grep man page</h1>
103103
BUFSIZ is defined in <b>&#60;stdio.h&#62;</b>. When there is more than one pattern
104104
(specified by the use of <b>-e</b> and/or <b>-f</b>), each pattern is applied to
105105
each line in the order in which they are defined, except that all the <b>-e</b>
106-
patterns are tried before the <b>-f</b> patterns.
106+
patterns are tried before the <b>-f</b> patterns.
107107
</P>
108108
<P>
109109
By default, as soon as one pattern matches a line, no further patterns are
@@ -123,8 +123,8 @@ <h1>pcre2grep man page</h1>
123123
match that starts in the middle of another match will not be processed.
124124
</P>
125125
<P>
126-
The above behaviour was changed at release 10.41 to be more compatible with GNU
127-
grep. In earlier releases, <b>pcre2grep</b> did not recognize matches from
126+
The above behaviour was changed at release 10.41 to be more compatible with GNU
127+
grep. In earlier releases, <b>pcre2grep</b> did not recognize matches from
128128
later patterns that were earlier in the subject.
129129
</P>
130130
<P>
@@ -325,7 +325,7 @@ <h1>pcre2grep man page</h1>
325325
<br>
326326
If <b>-f</b> is used with <b>-e</b>, the command line patterns are matched first,
327327
followed by the patterns from the file(s), independent of the order in which
328-
these options are specified.
328+
these options are specified.
329329
</P>
330330
<P>
331331
<b>--exclude</b>=<i>pattern</i>
@@ -487,7 +487,7 @@ <h1>pcre2grep man page</h1>
487487
<b>-L</b>, <b>--files-without-match</b>
488488
Instead of outputting lines from the files, just output the names of the files
489489
that do not contain any lines that would have been output. Each file name is
490-
output once, on a separate line by default, but if the <b>-Z</b> option is set,
490+
output once, on a separate line by default, but if the <b>-Z</b> option is set,
491491
they are separated by zero bytes instead of newlines. This option overrides any
492492
previous <b>-H</b>, <b>-h</b>, or <b>-l</b> options.
493493
</P>

doc/html/pcre2limits.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ <h1>pcre2limits man page</h1>
7272
32-bit unsigned integer can hold.
7373
</P>
7474
<P>
75-
The maximum amount of heap memory used for matching is controlled by the heap
76-
limit, which can be set in a pattern or in a match context. The default is a
75+
The maximum amount of heap memory used for matching is controlled by the heap
76+
limit, which can be set in a pattern or in a match context. The default is a
7777
very large number, effectively unlimited.
7878
</P>
7979
<br><b>

doc/html/pcre2perform.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ <h1>pcre2perform man page</h1>
8383
uses very little system stack at run time. In earlier releases recursive
8484
function calls could use a great deal of stack, and this could cause problems,
8585
but this usage has been eliminated. Backtracking positions are now explicitly
86-
remembered in memory frames controlled by the code.
86+
remembered in memory frames controlled by the code.
8787
</P>
8888
<P>
8989
The size of each frame depends on the size of pointer variables and the number
@@ -92,7 +92,7 @@ <h1>pcre2perform man page</h1>
9292
capturing group the size increases by 16 bytes.
9393
</P>
9494
<P>
95-
Until release 10.41, an initial 20KiB frames vector was allocated on the system
95+
Until release 10.41, an initial 20KiB frames vector was allocated on the system
9696
stack, but this still caused some issues for multi-thread applications where
9797
each thread has a very small stack. From release 10.41 backtracking memory
9898
frames are always held in heap memory. An initial heap allocation is obtained
@@ -101,12 +101,12 @@ <h1>pcre2perform man page</h1>
101101
another match. It is freed when the match data block itself is freed.
102102
</P>
103103
<P>
104-
The size of the initial block is the larger of 20KiB or ten times the pattern's
105-
frame size, unless the heap limit is less than this, in which case the heap
104+
The size of the initial block is the larger of 20KiB or ten times the pattern's
105+
frame size, unless the heap limit is less than this, in which case the heap
106106
limit is used. If the initial block proves to be too small during matching, it
107-
is replaced by a larger block, subject to the heap limit. The heap limit is
108-
checked only when a new block is to be allocated. Reducing the heap limit
109-
between calls to <b>pcre2_match()</b> with the same match data block does not
107+
is replaced by a larger block, subject to the heap limit. The heap limit is
108+
checked only when a new block is to be allocated. Reducing the heap limit
109+
between calls to <b>pcre2_match()</b> with the same match data block does not
110110
affect the saved block.
111111
</P>
112112
<P>

0 commit comments

Comments
 (0)