Fix minor test issues and tidies/updates for 10.34-RC1 testing release.

This commit is contained in:
Philip.Hazel 2019-10-15 15:23:31 +00:00
parent 2a0faa2114
commit 90ae0ae01e
9 changed files with 47 additions and 25 deletions

View File

@ -2,8 +2,8 @@ Change Log for PCRE2
-------------------- --------------------
Version 10.34 22-April-2019 Version 10.34-RC1 15-October-2019
--------------------------- ---------------------------------
1. The maximum number of capturing subpatterns is 65535 (documented), but no 1. The maximum number of capturing subpatterns is 65535 (documented), but no
check on this was ever implemented. This omission has been rectified; it fixes check on this was ever implemented. This omission has been rectified; it fixes

21
NEWS
View File

@ -2,8 +2,25 @@ News about PCRE2 releases
------------------------- -------------------------
Version 10.33-RC1 16-April-2019 Version 10.34 15-October-2019
------------------------------- -----------------------------
Another release with a few enhancements as well as bugfixes and tidies. The
main new features are:
1. There is now some support for matching in invalid UTF strings.
2. Non-atomic positive lookarounds are implemented in the pcre2_match()
interpreter, but not in JIT.
3. Added two new functions: pcre2_get_match_data_size() and
pcre2_maketables_free().
4. Upgraded to Unicode 12.1.0.
Version 10.33 16-April-2019
---------------------------
Yet more bugfixes, tidies, and a few enhancements, summarized here (see Yet more bugfixes, tidies, and a few enhancements, summarized here (see
ChangeLog for the full list): ChangeLog for the full list):

8
README
View File

@ -5,11 +5,11 @@ PCRE2 is a re-working of the original PCRE1 library to provide an entirely new
API. Since its initial release in 2015, there has been further development of API. Since its initial release in 2015, there has been further development of
the code and it now differs from PCRE1 in more than just the API. There are new the code and it now differs from PCRE1 in more than just the API. There are new
features and the internals have been improved. The latest release of PCRE2 is features and the internals have been improved. The latest release of PCRE2 is
always available in three alternative formats from: available in three alternative formats from:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.tar.gz https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.tar.bz2 https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.zip https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.zip
There is a mailing list for discussion about the development of PCRE (both the There is a mailing list for discussion about the development of PCRE (both the
original and new APIs) at pcre-dev@exim.org. You can access the archives and original and new APIs) at pcre-dev@exim.org. You can access the archives and

View File

@ -686,12 +686,12 @@ if [ $utf8 -ne 0 ] ; then
echo "---------------------------- Test U4 ------------------------------" >>testtrygrep echo "---------------------------- Test U4 ------------------------------" >>testtrygrep
printf 'A\341\200\200\200CD\342\200\200Z\n' >testtemp1grep printf 'A\341\200\200\200CD\342\200\200Z\n' >testtemp1grep
(cd $srcdir; $valgrind $vjs $pcre2grep -u -o '....' testtemp1grep) >>testtrygrep 2>&1 (cd $srcdir; $valgrind $vjs $pcre2grep -u -o '....' $builddir/testtemp1grep) >>testtrygrep 2>&1
echo "RC=$?" >>testtrygrep echo "RC=$?" >>testtrygrep
echo "---------------------------- Test U5 ------------------------------" >>testtrygrep echo "---------------------------- Test U5 ------------------------------" >>testtrygrep
printf 'A\341\200\200\200CD\342\200\200Z\n' >testtemp1grep printf 'A\341\200\200\200CD\342\200\200Z\n' >testtemp1grep
(cd $srcdir; $valgrind $vjs $pcre2grep -U -o '....' testtemp1grep) >>testtrygrep (cd $srcdir; $valgrind $vjs $pcre2grep -U -o '....' $builddir/testtemp1grep) >>testtrygrep
echo "RC=$?" >>testtrygrep echo "RC=$?" >>testtrygrep
$cf $srcdir/testdata/grepoutput8 testtrygrep $cf $srcdir/testdata/grepoutput8 testtrygrep

View File

@ -11,16 +11,16 @@ dnl be defined as -RC2, for example. For real releases, it should be empty.
m4_define(pcre2_major, [10]) m4_define(pcre2_major, [10])
m4_define(pcre2_minor, [34]) m4_define(pcre2_minor, [34])
m4_define(pcre2_prerelease, [-RC1]) m4_define(pcre2_prerelease, [-RC1])
m4_define(pcre2_date, [2019-04-22]) m4_define(pcre2_date, [2019-10-15])
# NOTE: The CMakeLists.txt file searches for the above variables in the first # NOTE: The CMakeLists.txt file searches for the above variables in the first
# 50 lines of this file. Please update that if the variables above are moved. # 50 lines of this file. Please update that if the variables above are moved.
# Libtool shared library interface versions (current:revision:age) # Libtool shared library interface versions (current:revision:age)
m4_define(libpcre2_8_version, [8:0:8]) m4_define(libpcre2_8_version, [9:0:9])
m4_define(libpcre2_16_version, [8:0:8]) m4_define(libpcre2_16_version, [9:0:9])
m4_define(libpcre2_32_version, [8:0:8]) m4_define(libpcre2_32_version, [9:0:9])
m4_define(libpcre2_posix_version, [2:2:0]) m4_define(libpcre2_posix_version, [2:3:0])
AC_PREREQ(2.57) AC_PREREQ(2.57)
AC_INIT(PCRE2, pcre2_major.pcre2_minor[]pcre2_prerelease, , pcre2) AC_INIT(PCRE2, pcre2_major.pcre2_minor[]pcre2_prerelease, , pcre2)

View File

@ -5,11 +5,11 @@ PCRE2 is a re-working of the original PCRE1 library to provide an entirely new
API. Since its initial release in 2015, there has been further development of API. Since its initial release in 2015, there has been further development of
the code and it now differs from PCRE1 in more than just the API. There are new the code and it now differs from PCRE1 in more than just the API. There are new
features and the internals have been improved. The latest release of PCRE2 is features and the internals have been improved. The latest release of PCRE2 is
always available in three alternative formats from: available in three alternative formats from:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.tar.gz https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.tar.bz2 https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-xxx.zip https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.zip
There is a mailing list for discussion about the development of PCRE (both the There is a mailing list for discussion about the development of PCRE (both the
original and new APIs) at pcre-dev@exim.org. You can access the archives and original and new APIs) at pcre-dev@exim.org. You can access the archives and
@ -164,9 +164,11 @@ library. They are also documented in the pcre2build man page.
will be a compile time error. If in doubt, use --enable-jit=auto, which will be a compile time error. If in doubt, use --enable-jit=auto, which
enables JIT only if the current hardware is supported. enables JIT only if the current hardware is supported.
. If you are enabling JIT under SELinux you may also want to add . If you are enabling JIT under SELinux environment you may also want to add
--enable-jit-sealloc, which enables the use of an execmem allocator in JIT --enable-jit-sealloc, which enables the use of an executable memory allocator
that is compatible with SELinux. This has no effect if JIT is not enabled. that is compatible with SELinux. Warning: this allocator is experimental!
It does not support fork() operation and may crash when no disk space is
available. This option has no effect if JIT is disabled.
. If you do not want to make use of the default support for UTF-8 Unicode . If you do not want to make use of the default support for UTF-8 Unicode
character strings in the 8-bit library, UTF-16 Unicode character strings in character strings in the 8-bit library, UTF-16 Unicode character strings in

View File

@ -3461,7 +3461,7 @@ capture groups and letters within \Q...\E quoted sequences.
Note that case forcing sequences such as \U...\E do not nest. For example, Note that case forcing sequences such as \U...\E do not nest. For example,
the result of processing "\Uaa\LBB\Ecc\E" is "AAbbcc"; the final \E has no the result of processing "\Uaa\LBB\Ecc\E" is "AAbbcc"; the final \E has no
effect. Note also that the PCRE2_ALT_BSUX and PCRE2_EXTRA_ALT_BSUX options do effect. Note also that the PCRE2_ALT_BSUX and PCRE2_EXTRA_ALT_BSUX options do
not apply to not apply to replacement strings. not apply to replacement strings.
</P> </P>
<P> <P>
The second effect of setting PCRE2_SUBSTITUTE_EXTENDED is to add more The second effect of setting PCRE2_SUBSTITUTE_EXTENDED is to add more

View File

@ -3345,7 +3345,7 @@ CREATING A NEW STRING WITH SUBSTITUTIONS
Note that case forcing sequences such as \U...\E do not nest. For exam- Note that case forcing sequences such as \U...\E do not nest. For exam-
ple, the result of processing "\Uaa\LBB\Ecc\E" is "AAbbcc"; the final ple, the result of processing "\Uaa\LBB\Ecc\E" is "AAbbcc"; the final
\E has no effect. Note also that the PCRE2_ALT_BSUX and PCRE2_EX- \E has no effect. Note also that the PCRE2_ALT_BSUX and PCRE2_EX-
TRA_ALT_BSUX options do not apply to not apply to replacement strings. TRA_ALT_BSUX options do not apply to replacement strings.
The second effect of setting PCRE2_SUBSTITUTE_EXTENDED is to add more The second effect of setting PCRE2_SUBSTITUTE_EXTENDED is to add more
flexibility to capture group substitution. The syntax is similar to flexibility to capture group substitution. The syntax is similar to

View File

@ -28,6 +28,8 @@
# The -v option causes a call to 'pcre2test -C' to happen for each # The -v option causes a call to 'pcre2test -C' to happen for each
# configuration. # configuration.
# Currently -fsanitize=undefined is not working (locks machine).
useasan=1 useasan=1
useusan=1 useusan=1
usedebug=1 usedebug=1
@ -293,9 +295,10 @@ if [ $ISGCC -ne 0 -a $usemain -ne 0 ]; then
opts="--disable-shared $enable_jit --enable-pcre2-16 --enable-pcre2-32" opts="--disable-shared $enable_jit --enable-pcre2-16 --enable-pcre2-32"
runtest runtest
fi fi
# This also seems to be the case for sanitize undefined.
if [ $useusan -ne 0 ]; then if [ $useusan -ne 0 ]; then
echo "------- Maximally configured test with -fsanitize=undefined -fno-sanitize=shift -fno-sanitize=alignment -std=gnu99 -------" echo "------- Maximally configured test with -fsanitize=undefined -fno-sanitize=shift -fno-sanitize=alignment -std=gnu99 -------"
CFLAGS="$OFLAGS $SAVECFLAGS -fsanitize=undefined -fno-sanitize=shift -fno-sanitize=alignment -std=gnu99" CFLAGS="$OFLAGS $SAVECFLAGS -no-pie -fno-PIE -fsanitize=undefined -fno-sanitize=shift -fno-sanitize=alignment -std=gnu99"
echo "CFLAGS=$CFLAGS" echo "CFLAGS=$CFLAGS"
opts="--disable-shared $enable_jit --enable-pcre2-16 --enable-pcre2-32" opts="--disable-shared $enable_jit --enable-pcre2-16 --enable-pcre2-32"
runtest runtest