Final file tidies for 10.40

This commit is contained in:
Philip Hazel 2022-04-15 16:57:57 +01:00
parent 13be26a5c2
commit 3103b8f20a
26 changed files with 177 additions and 130 deletions

View File

@ -8,7 +8,7 @@ Email domain: gmail.com
Retired from University of Cambridge Computing Service, Retired from University of Cambridge Computing Service,
Cambridge, England. Cambridge, England.
Copyright (c) 1997-2021 University of Cambridge Copyright (c) 1997-2022 University of Cambridge
All rights reserved All rights reserved
@ -19,7 +19,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester Email local part: hzmester
Emain domain: freemail.hu Emain domain: freemail.hu
Copyright(c) 2010-2021 Zoltan Herczeg Copyright(c) 2010-2022 Zoltan Herczeg
All rights reserved. All rights reserved.
@ -30,7 +30,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester Email local part: hzmester
Emain domain: freemail.hu Emain domain: freemail.hu
Copyright(c) 2009-2021 Zoltan Herczeg Copyright(c) 2009-2022 Zoltan Herczeg
All rights reserved. All rights reserved.
#### ####

View File

@ -2,8 +2,8 @@ Change Log for PCRE2
-------------------- --------------------
Version 10.40-RC1 xx-xxx-2021 Version 10.40 15-April-2022
----------------------------- ---------------------------
1. Merged patch from @carenas (GitHub #35, 7db87842) to fix pcre2grep incorrect 1. Merged patch from @carenas (GitHub #35, 7db87842) to fix pcre2grep incorrect
handling of multiple passes. handling of multiple passes.

View File

@ -26,7 +26,7 @@ Email domain: gmail.com
Retired from University of Cambridge Computing Service, Retired from University of Cambridge Computing Service,
Cambridge, England. Cambridge, England.
Copyright (c) 1997-2021 University of Cambridge Copyright (c) 1997-2022 University of Cambridge
All rights reserved. All rights reserved.
@ -37,7 +37,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester Email local part: hzmester
Email domain: freemail.hu Email domain: freemail.hu
Copyright(c) 2010-2021 Zoltan Herczeg Copyright(c) 2010-2022 Zoltan Herczeg
All rights reserved. All rights reserved.
@ -48,7 +48,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester Email local part: hzmester
Email domain: freemail.hu Email domain: freemail.hu
Copyright(c) 2009-2021 Zoltan Herczeg Copyright(c) 2009-2022 Zoltan Herczeg
All rights reserved. All rights reserved.

View File

@ -667,6 +667,7 @@ EXTRA_DIST += \
testdata/testinput23 \ testdata/testinput23 \
testdata/testinput24 \ testdata/testinput24 \
testdata/testinput25 \ testdata/testinput25 \
testdata/testinput26 \
testdata/testinputEBC \ testdata/testinputEBC \
testdata/testoutput1 \ testdata/testoutput1 \
testdata/testoutput2 \ testdata/testoutput2 \
@ -709,6 +710,7 @@ EXTRA_DIST += \
testdata/testoutput23 \ testdata/testoutput23 \
testdata/testoutput24 \ testdata/testoutput24 \
testdata/testoutput25 \ testdata/testoutput25 \
testdata/testoutput26 \
testdata/testoutputEBC \ testdata/testoutputEBC \
testdata/valgrind-jit.supp \ testdata/valgrind-jit.supp \
testdata/wintestinput3 \ testdata/wintestinput3 \

32
NEWS
View File

@ -2,6 +2,38 @@ News about PCRE2 releases
------------------------- -------------------------
Version 10.40 15-April-2022
---------------------------
This is mostly a bug-fixing and code-tidying release. However, there are some
extensions to Unicode property handling:
* Added support for Bidi_Class and a number of binary Unicode properties,
including Bidi_Control.
* A number of changes to script matching for \p and \P:
(a) Script extensions for a character are now coded as a bitmap instead of
a list of script numbers, which should be faster and does not need a
loop.
(b) Added the syntax \p{script:xxx} and \p{script_extensions:xxx} (synonyms
sc and scx).
(c) Changed \p{scriptname} from being the same as \p{sc:scriptname} to being
the same as \p{scx:scriptname} because this change happened in Perl at
release 5.26.
(d) The standard Unicode 4-letter abbreviations for script names are now
recognized.
(e) In accordance with Unicode and Perl's "loose matching" rules, spaces,
hyphens, and underscores are ignored in property names, which are then
matched independent of case.
As always, see ChangeLog for a list of all changes (also the Git log).
Version 10.39 29-October-2021 Version 10.39 29-October-2021
----------------------------- -----------------------------

22
README
View File

@ -194,10 +194,10 @@ library. They are also documented in the pcre2build man page.
As well as supporting UTF strings, Unicode support includes support for the As well as supporting UTF strings, Unicode support includes support for the
\P, \p, and \X sequences that recognize Unicode character properties. \P, \p, and \X sequences that recognize Unicode character properties.
However, only the basic two-letter properties such as Lu are supported. However, only a subset of Unicode properties are supported; see the
Escape sequences such as \d and \w in patterns do not by default make use of pcre2pattern man page for details. Escape sequences such as \d and \w in
Unicode properties, but can be made to do so by setting the PCRE2_UCP option patterns do not by default make use of Unicode properties, but can be made to
or starting a pattern with (*UCP). do so by setting the PCRE2_UCP option or starting a pattern with (*UCP).
. You can build PCRE2 to recognize either CR or LF or the sequence CRLF, or any . You can build PCRE2 to recognize either CR or LF or the sequence CRLF, or any
of the preceding, or any of the Unicode newline sequences, or the NUL (zero) of the preceding, or any of the Unicode newline sequences, or the NUL (zero)
@ -417,7 +417,7 @@ The "configure" script builds the following files for the basic C library:
. Makefile the makefile that builds the library . Makefile the makefile that builds the library
. src/config.h build-time configuration options for the library . src/config.h build-time configuration options for the library
. src/pcre2.h the public PCRE2 header file . src/pcre2.h the public PCRE2 header file
. pcre2-config script that shows the building settings such as CFLAGS . pcre2-config script that shows the building settings such as CFLAGS
that were set for "configure" that were set for "configure"
. libpcre2-8.pc ) . libpcre2-8.pc )
. libpcre2-16.pc ) data for the pkg-config command . libpcre2-16.pc ) data for the pkg-config command
@ -577,9 +577,9 @@ at build time" for more details.
Making new tarballs Making new tarballs
------------------- -------------------
The command "make dist" creates two PCRE2 tarballs, in tar.gz and zip formats. The command "make dist" creates three PCRE2 tarballs, in tar.gz, tar.bz2, and
The command "make distcheck" does the same, but then does a trial build of the zip formats. The command "make distcheck" does the same, but then does a trial
new distribution to ensure that it works. build of the new distribution to ensure that it works.
If you have modified any of the man page sources in the doc directory, you If you have modified any of the man page sources in the doc directory, you
should first run the PrepareRelease script before making a distribution. This should first run the PrepareRelease script before making a distribution. This
@ -608,13 +608,13 @@ is available. RunTest outputs a comment when it skips a test.
Many (but not all) of the tests that are not skipped are run twice if JIT Many (but not all) of the tests that are not skipped are run twice if JIT
support is available. On the second run, JIT compilation is forced. This support is available. On the second run, JIT compilation is forced. This
testing can be suppressed by putting "nojit" on the RunTest command line. testing can be suppressed by putting "-nojit" on the RunTest command line.
The entire set of tests is run once for each of the 8-bit, 16-bit and 32-bit The entire set of tests is run once for each of the 8-bit, 16-bit and 32-bit
libraries that are enabled. If you want to run just one set of tests, call libraries that are enabled. If you want to run just one set of tests, call
RunTest with either the -8, -16 or -32 option. RunTest with either the -8, -16 or -32 option.
If valgrind is installed, you can run the tests under it by putting "valgrind" If valgrind is installed, you can run the tests under it by putting "-valgrind"
on the RunTest command line. To run pcre2test on just one or more specific test on the RunTest command line. To run pcre2test on just one or more specific test
files, give their numbers as arguments to RunTest, for example: files, give their numbers as arguments to RunTest, for example:
@ -911,4 +911,4 @@ The distribution should contain the files listed below.
Philip Hazel Philip Hazel
Email local part: Philip.Hazel Email local part: Philip.Hazel
Email domain: gmail.com Email domain: gmail.com
Last updated: 13 April 2022 Last updated: 15 April 2022

View File

@ -10,14 +10,14 @@ 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, [40]) m4_define(pcre2_minor, [40])
m4_define(pcre2_prerelease, [-RC1]) m4_define(pcre2_prerelease, [])
m4_define(pcre2_date, [2021-11-09]) m4_define(pcre2_date, [2022-04-14])
# Libtool shared library interface versions (current:revision:age) # Libtool shared library interface versions (current:revision:age)
m4_define(libpcre2_8_version, [10:4:10]) m4_define(libpcre2_8_version, [11:0:11])
m4_define(libpcre2_16_version, [10:4:10]) m4_define(libpcre2_16_version, [11:0:11])
m4_define(libpcre2_32_version, [10:4:10]) m4_define(libpcre2_32_version, [11:0:11])
m4_define(libpcre2_posix_version, [3:1:0]) m4_define(libpcre2_posix_version, [3:2:0])
# 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.

View File

@ -114,12 +114,18 @@ Building PCRE2 using autotools
The following instructions assume the use of the widely used "configure; make; The following instructions assume the use of the widely used "configure; make;
make install" (autotools) process. make install" (autotools) process.
To build PCRE2 on system that supports autotools, first run the "configure" If you have downloaded and unpacked a PCRE2 release tarball, run the
command from the PCRE2 distribution directory, with your current directory set "configure" command from the PCRE2 directory, with your current directory set
to the directory where you want the files to be created. This command is a to the directory where you want the files to be created. This command is a
standard GNU "autoconf" configuration script, for which generic instructions standard GNU "autoconf" configuration script, for which generic instructions
are supplied in the file INSTALL. are supplied in the file INSTALL.
The files in the GitHub repository do not contain "configure". If you have
downloaded the PCRE2 source files from GitHub, before you can run "configure"
you must run the shell script called autogen.sh. This runs a number of
autotools to create a "configure" script (you must of course have the autotools
commands installed in order to do this).
Most commonly, people build PCRE2 within its own distribution directory, and in Most commonly, people build PCRE2 within its own distribution directory, and in
this case, on many systems, just running "./configure" is sufficient. However, this case, on many systems, just running "./configure" is sufficient. However,
the usual methods of changing standard defaults are available. For example: the usual methods of changing standard defaults are available. For example:
@ -188,10 +194,10 @@ library. They are also documented in the pcre2build man page.
As well as supporting UTF strings, Unicode support includes support for the As well as supporting UTF strings, Unicode support includes support for the
\P, \p, and \X sequences that recognize Unicode character properties. \P, \p, and \X sequences that recognize Unicode character properties.
However, only the basic two-letter properties such as Lu are supported. However, only a subset of Unicode properties are supported; see the
Escape sequences such as \d and \w in patterns do not by default make use of pcre2pattern man page for details. Escape sequences such as \d and \w in
Unicode properties, but can be made to do so by setting the PCRE2_UCP option patterns do not by default make use of Unicode properties, but can be made to
or starting a pattern with (*UCP). do so by setting the PCRE2_UCP option or starting a pattern with (*UCP).
. You can build PCRE2 to recognize either CR or LF or the sequence CRLF, or any . You can build PCRE2 to recognize either CR or LF or the sequence CRLF, or any
of the preceding, or any of the Unicode newline sequences, or the NUL (zero) of the preceding, or any of the Unicode newline sequences, or the NUL (zero)
@ -411,7 +417,7 @@ The "configure" script builds the following files for the basic C library:
. Makefile the makefile that builds the library . Makefile the makefile that builds the library
. src/config.h build-time configuration options for the library . src/config.h build-time configuration options for the library
. src/pcre2.h the public PCRE2 header file . src/pcre2.h the public PCRE2 header file
. pcre2-config script that shows the building settings such as CFLAGS . pcre2-config script that shows the building settings such as CFLAGS
that were set for "configure" that were set for "configure"
. libpcre2-8.pc ) . libpcre2-8.pc )
. libpcre2-16.pc ) data for the pkg-config command . libpcre2-16.pc ) data for the pkg-config command
@ -571,9 +577,9 @@ at build time" for more details.
Making new tarballs Making new tarballs
------------------- -------------------
The command "make dist" creates two PCRE2 tarballs, in tar.gz and zip formats. The command "make dist" creates three PCRE2 tarballs, in tar.gz, tar.bz2, and
The command "make distcheck" does the same, but then does a trial build of the zip formats. The command "make distcheck" does the same, but then does a trial
new distribution to ensure that it works. build of the new distribution to ensure that it works.
If you have modified any of the man page sources in the doc directory, you If you have modified any of the man page sources in the doc directory, you
should first run the PrepareRelease script before making a distribution. This should first run the PrepareRelease script before making a distribution. This
@ -602,13 +608,13 @@ is available. RunTest outputs a comment when it skips a test.
Many (but not all) of the tests that are not skipped are run twice if JIT Many (but not all) of the tests that are not skipped are run twice if JIT
support is available. On the second run, JIT compilation is forced. This support is available. On the second run, JIT compilation is forced. This
testing can be suppressed by putting "nojit" on the RunTest command line. testing can be suppressed by putting "-nojit" on the RunTest command line.
The entire set of tests is run once for each of the 8-bit, 16-bit and 32-bit The entire set of tests is run once for each of the 8-bit, 16-bit and 32-bit
libraries that are enabled. If you want to run just one set of tests, call libraries that are enabled. If you want to run just one set of tests, call
RunTest with either the -8, -16 or -32 option. RunTest with either the -8, -16 or -32 option.
If valgrind is installed, you can run the tests under it by putting "valgrind" If valgrind is installed, you can run the tests under it by putting "-valgrind"
on the RunTest command line. To run pcre2test on just one or more specific test on the RunTest command line. To run pcre2test on just one or more specific test
files, give their numbers as arguments to RunTest, for example: files, give their numbers as arguments to RunTest, for example:
@ -905,4 +911,4 @@ The distribution should contain the files listed below.
Philip Hazel Philip Hazel
Email local part: Philip.Hazel Email local part: Philip.Hazel
Email domain: gmail.com Email domain: gmail.com
Last updated: 29 October 2021 Last updated: 15 April 2022

View File

@ -97,6 +97,9 @@ sure both macros are undefined; an emulation function will then be used. */
/* Have PTHREAD_PRIO_INHERIT. */ /* Have PTHREAD_PRIO_INHERIT. */
/* #undef HAVE_PTHREAD_PRIO_INHERIT */ /* #undef HAVE_PTHREAD_PRIO_INHERIT */
/* Define to 1 if you have the <readline.h> header file. */
/* #undef HAVE_READLINE_H */
/* Define to 1 if you have the <readline/history.h> header file. */ /* Define to 1 if you have the <readline/history.h> header file. */
/* #undef HAVE_READLINE_HISTORY_H */ /* #undef HAVE_READLINE_HISTORY_H */
@ -233,7 +236,7 @@ sure both macros are undefined; an emulation function will then be used. */
#define PACKAGE_NAME "PCRE2" #define PACKAGE_NAME "PCRE2"
/* Define to the full name and version of this package. */ /* Define to the full name and version of this package. */
#define PACKAGE_STRING "PCRE2 10.39" #define PACKAGE_STRING "PCRE2 10.40"
/* Define to the one symbol short name of this package. */ /* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "pcre2" #define PACKAGE_TARNAME "pcre2"
@ -242,7 +245,7 @@ sure both macros are undefined; an emulation function will then be used. */
#define PACKAGE_URL "" #define PACKAGE_URL ""
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "10.39" #define PACKAGE_VERSION "10.40"
/* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
parentheses (of any kind) in a pattern. This limits the amount of system parentheses (of any kind) in a pattern. This limits the amount of system
@ -435,7 +438,7 @@ sure both macros are undefined; an emulation function will then be used. */
#endif #endif
/* Version number of package */ /* Version number of package */
#define VERSION "10.39" #define VERSION "10.40"
/* Define to empty if `const' does not conform to ANSI C. */ /* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */ /* #undef const */

View File

@ -97,6 +97,9 @@ sure both macros are undefined; an emulation function will then be used. */
/* Have PTHREAD_PRIO_INHERIT. */ /* Have PTHREAD_PRIO_INHERIT. */
#undef HAVE_PTHREAD_PRIO_INHERIT #undef HAVE_PTHREAD_PRIO_INHERIT
/* Define to 1 if you have the <readline.h> header file. */
#undef HAVE_READLINE_H
/* Define to 1 if you have the <readline/history.h> header file. */ /* Define to 1 if you have the <readline/history.h> header file. */
#undef HAVE_READLINE_HISTORY_H #undef HAVE_READLINE_HISTORY_H

View File

@ -42,9 +42,9 @@ POSSIBILITY OF SUCH DAMAGE.
/* The current PCRE version information. */ /* The current PCRE version information. */
#define PCRE2_MAJOR 10 #define PCRE2_MAJOR 10
#define PCRE2_MINOR 39 #define PCRE2_MINOR 40
#define PCRE2_PRERELEASE #define PCRE2_PRERELEASE
#define PCRE2_DATE 2021-10-29 #define PCRE2_DATE 2022-04-14
/* When an application links to a PCRE DLL in Windows, the symbols that are /* When an application links to a PCRE DLL in Windows, the symbols that are
imported have to be identified as such. When building PCRE2, the appropriate imported have to be identified as such. When building PCRE2, the appropriate

View File

@ -8502,6 +8502,7 @@ static void
display_properties(BOOL wantscripts) display_properties(BOOL wantscripts)
{ {
#ifndef SUPPORT_UNICODE #ifndef SUPPORT_UNICODE
(void)wantscripts;
printf("** This version of PCRE2 was compiled without Unicode support.\n"); printf("** This version of PCRE2 was compiled without Unicode support.\n");
#else #else