Final file tidies for 10.37-RC1

This commit is contained in:
Philip.Hazel 2021-04-28 16:44:51 +00:00
parent a5d81d06f4
commit cd45050ee4
21 changed files with 209 additions and 130 deletions

View File

@ -8,7 +8,7 @@ Email domain: gmail.com
University of Cambridge Computing Service, University of Cambridge Computing Service,
Cambridge, England. Cambridge, England.
Copyright (c) 1997-2020 University of Cambridge Copyright (c) 1997-2021 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-2020 Zoltan Herczeg Copyright(c) 2010-2021 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-2020 Zoltan Herczeg Copyright(c) 2009-2021 Zoltan Herczeg
All rights reserved. All rights reserved.
#### ####

View File

@ -2,38 +2,38 @@ Change Log for PCRE2
-------------------- --------------------
Version 10.37-RC1 xx-xxxx-2021 Version 10.37-RC1 28-April-2021
--------------------------------- -------------------------------
1. Change RunGrepTest to use tr instead of sed when testing with binary 1. Change RunGrepTest to use tr instead of sed when testing with binary
zero bytes, because sed varies a lot from system to system and has problems zero bytes, because sed varies a lot from system to system and has problems
with binary zeros. This is from Bugzilla #2681. Patch from Jeremie with binary zeros. This is from Bugzilla #2681. Patch from Jeremie
Courreges-Anglas via Nam Nguyen. This fixes RunGrepTest for OpenBSD. Later: Courreges-Anglas via Nam Nguyen. This fixes RunGrepTest for OpenBSD. Later:
it broke it for at least one version of Solaris, where tr can't handle binary it broke it for at least one version of Solaris, where tr can't handle binary
zeros. However, that system had /usr/xpg4/bin/tr installed, which works OK, so zeros. However, that system had /usr/xpg4/bin/tr installed, which works OK, so
RunGrepTest now checks for that command and uses it if found. RunGrepTest now checks for that command and uses it if found.
2. Compiling with gcc 10.2's -fanalyzer option showed up a hypothetical problem 2. Compiling with gcc 10.2's -fanalyzer option showed up a hypothetical problem
with a NULL dereference. I don't think this case could ever occur in practice, with a NULL dereference. I don't think this case could ever occur in practice,
but I have put in a check in order to get rid of the compiler error. but I have put in a check in order to get rid of the compiler error.
3. An alternative patch for CMakeLists.txt because 10.36 #4 breaks CMake on 3. An alternative patch for CMakeLists.txt because 10.36 #4 breaks CMake on
Windows. Patch from email@cs-ware.de fixes bugzilla #2688. Windows. Patch from email@cs-ware.de fixes bugzilla #2688.
4. Two bugs related to over-large numbers have been fixed so the behaviour is 4. Two bugs related to over-large numbers have been fixed so the behaviour is
now the same as Perl. now the same as Perl.
(a) A pattern such as /\214748364/ gave an overflow error instead of being (a) A pattern such as /\214748364/ gave an overflow error instead of being
treated as the octal number \214 followed by literal digits. treated as the octal number \214 followed by literal digits.
(b) A sequence such as {65536 that has no terminating } so is not a (b) A sequence such as {65536 that has no terminating } so is not a
quantifier was nevertheless complaining that a quantifier number was too big. quantifier was nevertheless complaining that a quantifier number was too big.
5. A run of autoconf suggested that configure.ac was out-of-date with respect 5. A run of autoconf suggested that configure.ac was out-of-date with respect
to the lastest autoconf. Running autoupdate made some valid changes, some valid to the lastest autoconf. Running autoupdate made some valid changes, some valid
suggestions, and also some invalid changes, which were fixed by hand. Autoconf suggestions, and also some invalid changes, which were fixed by hand. Autoconf
now runs clean and the resulting "configure" seems to work, so I hope nothing now runs clean and the resulting "configure" seems to work, so I hope nothing
is broken. Later: the requirement for autoconf 2.70 broke some automatic test is broken. Later: the requirement for autoconf 2.70 broke some automatic test
robots. It doesn't seem to be necessary: trying a reduction to 2.60. robots. It doesn't seem to be necessary: trying a reduction to 2.60.
6. The pattern /a\K.(?0)*/ when matched against "abac" by the interpreter gave 6. The pattern /a\K.(?0)*/ when matched against "abac" by the interpreter gave
@ -45,12 +45,12 @@ recursions such as /(a\K.(?1)*)/ did not have this problem.
character repetitions are optimized than in 10.34. character repetitions are optimized than in 10.34.
8. When the names of the functions in the POSIX wrapper were changed to 8. When the names of the functions in the POSIX wrapper were changed to
pcre2_regcomp() etc. (see change 10.33 #4 below), functions with the original pcre2_regcomp() etc. (see change 10.33 #4 below), functions with the original
names were left in the library so that pre-compiled programs would still work. names were left in the library so that pre-compiled programs would still work.
However, this has proved troublesome when programs link with several libraries, However, this has proved troublesome when programs link with several libraries,
some of which use PCRE2 via the POSIX interface while others use a native POSIX some of which use PCRE2 via the POSIX interface while others use a native POSIX
library. For this reason, the POSIX function names are removed in this release. library. For this reason, the POSIX function names are removed in this release.
The macros in pcre2posix.h should ensure that re-compiling fixes any programs The macros in pcre2posix.h should ensure that re-compiling fixes any programs
that haven't been compiled since before 10.33. that haven't been compiled since before 10.33.

View File

@ -26,7 +26,7 @@ Email domain: gmail.com
University of Cambridge Computing Service, University of Cambridge Computing Service,
Cambridge, England. Cambridge, England.
Copyright (c) 1997-2020 University of Cambridge Copyright (c) 1997-2021 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-2020 Zoltan Herczeg Copyright(c) 2010-2021 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-2020 Zoltan Herczeg Copyright(c) 2009-2021 Zoltan Herczeg
All rights reserved. All rights reserved.

8
NEWS
View File

@ -2,6 +2,14 @@ News about PCRE2 releases
------------------------- -------------------------
Version 10.37-RC1 28_April-2021
-------------------------------
A few more bug fixes and tidies. The only change of real note is the removal of
the actual POSIX names regcomp etc. from the POSIX wrapper library because
these have caused issues for some applications (see 10.33 #2 below).
Version 10.36 04-December-2020 Version 10.36 04-December-2020
------------------------------ ------------------------------

View File

@ -40,9 +40,9 @@ GENERIC INSTRUCTIONS FOR THE PCRE2 C LIBRARY
The following are generic instructions for building the PCRE2 C library "by The following are generic instructions for building the PCRE2 C library "by
hand". If you are going to use CMake, this section does not apply to you; you hand". If you are going to use CMake, this section does not apply to you; you
can skip ahead to the CMake section. Note that the settings concerned with can skip ahead to the CMake section. Note that the settings concerned with
8-bit, 16-bit, and 32-bit code units relate to the type of data string that 8-bit, 16-bit, and 32-bit code units relate to the type of data string that
PCRE2 processes. They are NOT referring to the underlying operating system bit PCRE2 processes. They are NOT referring to the underlying operating system bit
width. You do not have to do anything special to compile in a 64-bit width. You do not have to do anything special to compile in a 64-bit
environment, for example. environment, for example.
@ -90,7 +90,7 @@ environment, for example.
The tables in src/pcre2_chartables.c are defaults. The caller of PCRE2 can The tables in src/pcre2_chartables.c are defaults. The caller of PCRE2 can
specify alternative tables at run time. specify alternative tables at run time.
(4) For a library that supports 8-bit code units in the character strings that (4) For a library that supports 8-bit code units in the character strings that
it processes, compile the following source files from the src directory, it processes, compile the following source files from the src directory,
setting -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also set setting -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also set
-DHAVE_CONFIG_H if you have set up src/config.h with your configuration, -DHAVE_CONFIG_H if you have set up src/config.h with your configuration,

13
README
View File

@ -4,16 +4,17 @@ README file for PCRE2 (Perl-compatible regular expression library)
PCRE2 is a re-working of the original PCRE1 library to provide an entirely new 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 original PCRE1 library is
available in three alternative formats from: now obsolete and should not be used in new projects. The latest release of
PCRE2 is available in three alternative formats from:
https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.gz https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.gz
https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.bz2 https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.bz2
https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.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 at
original and new APIs) at pcre-dev@exim.org. You can access the archives and pcre-dev@exim.org. You can access the archives and subscribe or manage your
subscribe or manage your subscription here: subscription here:
https://lists.exim.org/mailman/listinfo/pcre-dev https://lists.exim.org/mailman/listinfo/pcre-dev
@ -903,4 +904,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: 04 December 2020 Last updated: 28 April 2021

View File

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

@ -40,9 +40,9 @@ GENERIC INSTRUCTIONS FOR THE PCRE2 C LIBRARY
The following are generic instructions for building the PCRE2 C library "by The following are generic instructions for building the PCRE2 C library "by
hand". If you are going to use CMake, this section does not apply to you; you hand". If you are going to use CMake, this section does not apply to you; you
can skip ahead to the CMake section. Note that the settings concerned with can skip ahead to the CMake section. Note that the settings concerned with
8-bit, 16-bit, and 32-bit code units relate to the type of data string that 8-bit, 16-bit, and 32-bit code units relate to the type of data string that
PCRE2 processes. They are NOT referring to the underlying operating system bit PCRE2 processes. They are NOT referring to the underlying operating system bit
width. You do not have to do anything special to compile in a 64-bit width. You do not have to do anything special to compile in a 64-bit
environment, for example. environment, for example.
@ -90,7 +90,7 @@ environment, for example.
The tables in src/pcre2_chartables.c are defaults. The caller of PCRE2 can The tables in src/pcre2_chartables.c are defaults. The caller of PCRE2 can
specify alternative tables at run time. specify alternative tables at run time.
(4) For a library that supports 8-bit code units in the character strings that (4) For a library that supports 8-bit code units in the character strings that
it processes, compile the following source files from the src directory, it processes, compile the following source files from the src directory,
setting -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also set setting -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also set
-DHAVE_CONFIG_H if you have set up src/config.h with your configuration, -DHAVE_CONFIG_H if you have set up src/config.h with your configuration,

View File

@ -4,16 +4,17 @@ README file for PCRE2 (Perl-compatible regular expression library)
PCRE2 is a re-working of the original PCRE1 library to provide an entirely new 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 original PCRE1 library is
available in three alternative formats from: now obsolete and should not be used in new projects. The latest release of
PCRE2 is available in three alternative formats from:
https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.gz https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.gz
https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.bz2 https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.bz2
https://ftp.pcre.org/pub/pcre/pcre2-10.xx.tar.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 at
original and new APIs) at pcre-dev@exim.org. You can access the archives and pcre-dev@exim.org. You can access the archives and subscribe or manage your
subscribe or manage your subscription here: subscription here:
https://lists.exim.org/mailman/listinfo/pcre-dev https://lists.exim.org/mailman/listinfo/pcre-dev
@ -903,4 +904,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: 04 December 2020 Last updated: 28 April 2021

View File

@ -73,8 +73,8 @@ Although they were not defined as protypes in <b>pcre2posix.h</b>, releases
<b>regcomp()</b> etc. These simply passed their arguments to the PCRE2 <b>regcomp()</b> etc. These simply passed their arguments to the PCRE2
functions. These functions were provided for backwards compatibility with functions. These functions were provided for backwards compatibility with
earlier versions of PCRE2, which had only POSIX names. However, this has proved earlier versions of PCRE2, which had only POSIX names. However, this has proved
troublesome in situations where a program links with several libraries, some of troublesome in situations where a program links with several libraries, some of
which use PCRE2's POSIX interface while others use the real POSIX functions. which use PCRE2's POSIX interface while others use the real POSIX functions.
For this reason, the POSIX names have been removed since release 10.37. For this reason, the POSIX names have been removed since release 10.37.
</P> </P>
<P> <P>

View File

@ -1421,8 +1421,8 @@ replacement strings cannot contain commas, because a comma signifies the end of
a modifier. This is not thought to be an issue in a test program. a modifier. This is not thought to be an issue in a test program.
</P> </P>
<P> <P>
Specifying a completely empty replacement string disables this modifier. Specifying a completely empty replacement string disables this modifier.
However, it is possible to specify an empty replacement by providing a buffer However, it is possible to specify an empty replacement by providing a buffer
length, as described below, for an otherwise empty replacement. length, as described below, for an otherwise empty replacement.
</P> </P>
<P> <P>

View File

@ -185,8 +185,8 @@ REVISION
Last updated: 28 April 2021 Last updated: 28 April 2021
Copyright (c) 1997-2021 University of Cambridge. Copyright (c) 1997-2021 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2API(3) Library Functions Manual PCRE2API(3) PCRE2API(3) Library Functions Manual PCRE2API(3)
@ -3834,8 +3834,8 @@ REVISION
Last updated: 04 November 2020 Last updated: 04 November 2020
Copyright (c) 1997-2020 University of Cambridge. Copyright (c) 1997-2020 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2BUILD(3) Library Functions Manual PCRE2BUILD(3) PCRE2BUILD(3) Library Functions Manual PCRE2BUILD(3)
@ -4428,8 +4428,8 @@ REVISION
Last updated: 20 March 2020 Last updated: 20 March 2020
Copyright (c) 1997-2020 University of Cambridge. Copyright (c) 1997-2020 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2CALLOUT(3) Library Functions Manual PCRE2CALLOUT(3) PCRE2CALLOUT(3) Library Functions Manual PCRE2CALLOUT(3)
@ -4858,8 +4858,8 @@ REVISION
Last updated: 03 February 2019 Last updated: 03 February 2019
Copyright (c) 1997-2019 University of Cambridge. Copyright (c) 1997-2019 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2COMPAT(3) Library Functions Manual PCRE2COMPAT(3) PCRE2COMPAT(3) Library Functions Manual PCRE2COMPAT(3)
@ -5071,8 +5071,8 @@ REVISION
Last updated: 06 October 2020 Last updated: 06 October 2020
Copyright (c) 1997-2019 University of Cambridge. Copyright (c) 1997-2019 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2JIT(3) Library Functions Manual PCRE2JIT(3) PCRE2JIT(3) Library Functions Manual PCRE2JIT(3)
@ -5496,8 +5496,8 @@ REVISION
Last updated: 23 May 2019 Last updated: 23 May 2019
Copyright (c) 1997-2019 University of Cambridge. Copyright (c) 1997-2019 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2LIMITS(3) Library Functions Manual PCRE2LIMITS(3) PCRE2LIMITS(3) Library Functions Manual PCRE2LIMITS(3)
@ -5566,8 +5566,8 @@ REVISION
Last updated: 02 February 2019 Last updated: 02 February 2019
Copyright (c) 1997-2019 University of Cambridge. Copyright (c) 1997-2019 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2MATCHING(3) Library Functions Manual PCRE2MATCHING(3) PCRE2MATCHING(3) Library Functions Manual PCRE2MATCHING(3)
@ -5790,8 +5790,8 @@ REVISION
Last updated: 23 May 2019 Last updated: 23 May 2019
Copyright (c) 1997-2019 University of Cambridge. Copyright (c) 1997-2019 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2PARTIAL(3) Library Functions Manual PCRE2PARTIAL(3) PCRE2PARTIAL(3) Library Functions Manual PCRE2PARTIAL(3)
@ -6170,8 +6170,8 @@ REVISION
Last updated: 04 September 2019 Last updated: 04 September 2019
Copyright (c) 1997-2019 University of Cambridge. Copyright (c) 1997-2019 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2PATTERN(3) Library Functions Manual PCRE2PATTERN(3) PCRE2PATTERN(3) Library Functions Manual PCRE2PATTERN(3)
@ -9618,8 +9618,8 @@ REVISION
Last updated: 06 October 2020 Last updated: 06 October 2020
Copyright (c) 1997-2020 University of Cambridge. Copyright (c) 1997-2020 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2PERFORM(3) Library Functions Manual PCRE2PERFORM(3) PCRE2PERFORM(3) Library Functions Manual PCRE2PERFORM(3)
@ -9853,8 +9853,8 @@ REVISION
Last updated: 03 February 2019 Last updated: 03 February 2019
Copyright (c) 1997-2019 University of Cambridge. Copyright (c) 1997-2019 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2POSIX(3) Library Functions Manual PCRE2POSIX(3) PCRE2POSIX(3) Library Functions Manual PCRE2POSIX(3)
@ -10187,8 +10187,8 @@ REVISION
Last updated: 26 April 2021 Last updated: 26 April 2021
Copyright (c) 1997-2021 University of Cambridge. Copyright (c) 1997-2021 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2SAMPLE(3) Library Functions Manual PCRE2SAMPLE(3) PCRE2SAMPLE(3) Library Functions Manual PCRE2SAMPLE(3)
@ -10466,8 +10466,8 @@ REVISION
Last updated: 27 June 2018 Last updated: 27 June 2018
Copyright (c) 1997-2018 University of Cambridge. Copyright (c) 1997-2018 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2SYNTAX(3) Library Functions Manual PCRE2SYNTAX(3) PCRE2SYNTAX(3) Library Functions Manual PCRE2SYNTAX(3)
@ -10982,8 +10982,8 @@ REVISION
Last updated: 28 December 2019 Last updated: 28 December 2019
Copyright (c) 1997-2019 University of Cambridge. Copyright (c) 1997-2019 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
PCRE2UNICODE(3) Library Functions Manual PCRE2UNICODE(3) PCRE2UNICODE(3) Library Functions Manual PCRE2UNICODE(3)
@ -11417,5 +11417,5 @@ REVISION
Last updated: 23 February 2020 Last updated: 23 February 2020
Copyright (c) 1997-2020 University of Cambridge. Copyright (c) 1997-2020 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------

View File

@ -49,8 +49,8 @@ Although they were not defined as protypes in \fBpcre2posix.h\fP, releases
\fBregcomp()\fP etc. These simply passed their arguments to the PCRE2 \fBregcomp()\fP etc. These simply passed their arguments to the PCRE2
functions. These functions were provided for backwards compatibility with functions. These functions were provided for backwards compatibility with
earlier versions of PCRE2, which had only POSIX names. However, this has proved earlier versions of PCRE2, which had only POSIX names. However, this has proved
troublesome in situations where a program links with several libraries, some of troublesome in situations where a program links with several libraries, some of
which use PCRE2's POSIX interface while others use the real POSIX functions. which use PCRE2's POSIX interface while others use the real POSIX functions.
For this reason, the POSIX names have been removed since release 10.37. For this reason, the POSIX names have been removed since release 10.37.
.P .P
Calling the header file \fBpcre2posix.h\fP avoids any conflict with other POSIX Calling the header file \fBpcre2posix.h\fP avoids any conflict with other POSIX

View File

@ -1389,8 +1389,8 @@ called instead of one of the matching functions (or after one call of
replacement strings cannot contain commas, because a comma signifies the end of replacement strings cannot contain commas, because a comma signifies the end of
a modifier. This is not thought to be an issue in a test program. a modifier. This is not thought to be an issue in a test program.
.P .P
Specifying a completely empty replacement string disables this modifier. Specifying a completely empty replacement string disables this modifier.
However, it is possible to specify an empty replacement by providing a buffer However, it is possible to specify an empty replacement by providing a buffer
length, as described below, for an otherwise empty replacement. length, as described below, for an otherwise empty replacement.
.P .P
Unlike subject strings, \fBpcre2test\fP does not process replacement strings Unlike subject strings, \fBpcre2test\fP does not process replacement strings

View File

@ -85,8 +85,8 @@ sure both macros are undefined; an emulation function will then be used. */
/* Define to 1 if you have the `memmove' function. */ /* Define to 1 if you have the `memmove' function. */
/* #undef HAVE_MEMMOVE */ /* #undef HAVE_MEMMOVE */
/* Define to 1 if you have the <memory.h> header file. */ /* Define to 1 if you have the <minix/config.h> header file. */
/* #undef HAVE_MEMORY_H */ /* #undef HAVE_MINIX_CONFIG_H */
/* Define to 1 if you have the `mkostemp' function. */ /* Define to 1 if you have the `mkostemp' function. */
/* #undef HAVE_MKOSTEMP */ /* #undef HAVE_MKOSTEMP */
@ -109,6 +109,9 @@ sure both macros are undefined; an emulation function will then be used. */
/* Define to 1 if you have the <stdint.h> header file. */ /* Define to 1 if you have the <stdint.h> header file. */
/* #undef HAVE_STDINT_H */ /* #undef HAVE_STDINT_H */
/* Define to 1 if you have the <stdio.h> header file. */
/* #undef HAVE_STDIO_H */
/* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */
/* #undef HAVE_STDLIB_H */ /* #undef HAVE_STDLIB_H */
@ -136,6 +139,9 @@ sure both macros are undefined; an emulation function will then be used. */
/* Define to 1 if the compiler supports simple visibility declarations. */ /* Define to 1 if the compiler supports simple visibility declarations. */
/* #undef HAVE_VISIBILITY */ /* #undef HAVE_VISIBILITY */
/* Define to 1 if you have the <wchar.h> header file. */
/* #undef HAVE_WCHAR_H */
/* Define to 1 if you have the <windows.h> header file. */ /* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */ /* #undef HAVE_WINDOWS_H */
@ -224,7 +230,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.36" #define PACKAGE_STRING "PCRE2 10.37-RC1"
/* 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"
@ -233,7 +239,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.36" #define PACKAGE_VERSION "10.37-RC1"
/* 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
@ -286,7 +292,9 @@ sure both macros are undefined; an emulation function will then be used. */
unless SUPPORT_JIT is also defined. */ unless SUPPORT_JIT is also defined. */
/* #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR */ /* #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR */
/* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
/* #undef STDC_HEADERS */ /* #undef STDC_HEADERS */
/* Define to any value to enable support for Just-In-Time compiling. */ /* Define to any value to enable support for Just-In-Time compiling. */
@ -340,35 +348,91 @@ sure both macros are undefined; an emulation function will then be used. */
#ifndef _ALL_SOURCE #ifndef _ALL_SOURCE
# define _ALL_SOURCE 1 # define _ALL_SOURCE 1
#endif #endif
/* Enable GNU extensions on systems that have them. */ /* Enable general extensions on macOS. */
#ifndef _GNU_SOURCE #ifndef _DARWIN_C_SOURCE
# define _GNU_SOURCE 1 # define _DARWIN_C_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif #endif
/* Enable general extensions on Solaris. */ /* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__ #ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1 # define __EXTENSIONS__ 1
#endif #endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable X/Open compliant socket functions that do not require linking
with -lxnet on HP-UX 11.11. */
#ifndef _HPUX_ALT_XOPEN_SOCKET_API
# define _HPUX_ALT_XOPEN_SOCKET_API 1
#endif
/* Identify the host operating system as Minix.
This macro does not affect the system headers' behavior.
A future release of Autoconf may stop defining this macro. */
#ifndef _MINIX
/* # undef _MINIX */
#endif
/* Enable general extensions on NetBSD.
Enable NetBSD compatibility extensions on Minix. */
#ifndef _NETBSD_SOURCE
# define _NETBSD_SOURCE 1
#endif
/* Enable OpenBSD compatibility extensions on NetBSD.
Oddly enough, this does nothing on OpenBSD. */
#ifndef _OPENBSD_SOURCE
# define _OPENBSD_SOURCE 1
#endif
/* Define to 1 if needed for POSIX-compatible behavior. */
#ifndef _POSIX_SOURCE
/* # undef _POSIX_SOURCE */
#endif
/* Define to 2 if needed for POSIX-compatible behavior. */
#ifndef _POSIX_1_SOURCE
/* # undef _POSIX_1_SOURCE */
#endif
/* Enable POSIX-compatible threading on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
#endif
/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
#endif
/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
#endif
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
#endif
/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
#endif
/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
#ifndef __STDC_WANT_LIB_EXT2__
# define __STDC_WANT_LIB_EXT2__ 1
#endif
/* Enable extensions specified by ISO/IEC 24747:2009. */
#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
# define __STDC_WANT_MATH_SPEC_FUNCS__ 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable X/Open extensions. Define to 500 only if necessary
to make mbstate_t available. */
#ifndef _XOPEN_SOURCE
/* # undef _XOPEN_SOURCE */
#endif
/* Version number of package */ /* Version number of package */
#define VERSION "10.36" #define VERSION "10.37-RC1"
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* 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

@ -347,6 +347,11 @@ sure both macros are undefined; an emulation function will then be used. */
#ifndef _GNU_SOURCE #ifndef _GNU_SOURCE
# undef _GNU_SOURCE # undef _GNU_SOURCE
#endif #endif
/* Enable X/Open compliant socket functions that do not require linking
with -lxnet on HP-UX 11.11. */
#ifndef _HPUX_ALT_XOPEN_SOCKET_API
# undef _HPUX_ALT_XOPEN_SOCKET_API
#endif
/* Identify the host operating system as Minix. /* Identify the host operating system as Minix.
This macro does not affect the system headers' behavior. This macro does not affect the system headers' behavior.
A future release of Autoconf may stop defining this macro. */ A future release of Autoconf may stop defining this macro. */

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 36 #define PCRE2_MINOR 37
#define PCRE2_PRERELEASE #define PCRE2_PRERELEASE -RC1
#define PCRE2_DATE 2020-12-04 #define PCRE2_DATE 2021-04-28
/* 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

@ -1188,10 +1188,10 @@ for (;;)
if (c >= OP_CRSTAR && c <= OP_CRMINRANGE) if (c >= OP_CRSTAR && c <= OP_CRMINRANGE)
{ {
/* The return from get_chr_property_list() will never be NULL when /* The return from get_chr_property_list() will never be NULL when
*code (aka c) is one of the three class opcodes. However, gcc with *code (aka c) is one of the three class opcodes. However, gcc with
-fanalyzer notes that a NULL return is possible, and grumbles. Hence we -fanalyzer notes that a NULL return is possible, and grumbles. Hence we
put in a check. */ put in a check. */
end = get_chr_property_list(code, utf, ucp, cb->fcc, list); end = get_chr_property_list(code, utf, ucp, cb->fcc, list);
list[1] = (c & 1) == 0; list[1] = (c & 1) == 0;

View File

@ -1419,7 +1419,7 @@ for (p = *ptrptr;; p++)
if (had_comma) return FALSE; if (had_comma) return FALSE;
had_comma = TRUE; had_comma = TRUE;
} }
else return FALSE; else return FALSE;
} }
/* The only error from read_number() is for a number that is too big. */ /* The only error from read_number() is for a number that is too big. */

View File

@ -823,7 +823,7 @@ fprintf(stderr, "++ op=%d\n", *Fecode);
P->eptr = Feptr; P->eptr = Feptr;
P->mark = Fmark; P->mark = Fmark;
P->start_match = Fstart_match; P->start_match = Fstart_match;
F = P; F = P;
Fecode += 1 + LINK_SIZE; Fecode += 1 + LINK_SIZE;
continue; continue;

View File

@ -178,13 +178,13 @@ static const char *const pstring[] = {
#if 0 /* REMOVE THIS CODE */ #if 0 /* REMOVE THIS CODE */
The code below was created for 10.33 (see ChangeLog 10.33 #4) when the The code below was created for 10.33 (see ChangeLog 10.33 #4) when the
POSIX functions were given pcre2_... names instead of the traditional POSIX POSIX functions were given pcre2_... names instead of the traditional POSIX
names. However, it has proved to be more troublesome than useful. There have names. However, it has proved to be more troublesome than useful. There have
been at least two cases where a program links with two others, one of which been at least two cases where a program links with two others, one of which
uses the POSIX library and the other uses the PCRE2 POSIX functions, thus uses the POSIX library and the other uses the PCRE2 POSIX functions, thus
causing two instances of the POSIX runctions to exist, leading to trouble. For causing two instances of the POSIX runctions to exist, leading to trouble. For
10.37 this code is commented out. In due course it can be removed if there are 10.37 this code is commented out. In due course it can be removed if there are
no issues. The only small worry is the comment below about languages that do no issues. The only small worry is the comment below about languages that do
not include pcre2posix.h. If there are any such cases, they will have to use not include pcre2posix.h. If there are any such cases, they will have to use
the PCRE2 names. the PCRE2 names.