summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2019-01-25 16:08:32 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2019-01-25 16:08:32 +0000
commit242ad5def5f7e21d8077821230dd8a59cb8385da (patch)
tree3f2a23b4e4cc49530ba5dcc1ba107864f8007515
parent36bcaeaf1afd4b9a733a72b03f6f5d40cb71c7ba (diff)
downloadpcre-242ad5def5f7e21d8077821230dd8a59cb8385da.tar.gz
Final changes for 8.43-RC1
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1747 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r--AUTHORS6
-rw-r--r--ChangeLog42
-rw-r--r--LICENCE6
-rw-r--r--NEWS10
-rw-r--r--configure.ac8
-rw-r--r--pcrecpp_unittest.cc14
6 files changed, 51 insertions, 35 deletions
diff --git a/AUTHORS b/AUTHORS
index eb9b1a4..23c005a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -8,7 +8,7 @@ Email domain: cam.ac.uk
University of Cambridge Computing Service,
Cambridge, England.
-Copyright (c) 1997-2018 University of Cambridge
+Copyright (c) 1997-2019 University of Cambridge
All rights reserved
@@ -19,7 +19,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester
Emain domain: freemail.hu
-Copyright(c) 2010-2018 Zoltan Herczeg
+Copyright(c) 2010-2019 Zoltan Herczeg
All rights reserved.
@@ -30,7 +30,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester
Emain domain: freemail.hu
-Copyright(c) 2009-2018 Zoltan Herczeg
+Copyright(c) 2009-2019 Zoltan Herczeg
All rights reserved.
diff --git a/ChangeLog b/ChangeLog
index eec3512..a9026c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,45 +5,45 @@ Note that the PCRE 8.xx series (PCRE1) is now in a bugfix-only state. All
development is happening in the PCRE2 10.xx series.
-Version 8.43 25-June-2018
--------------------------
+Version 8.43 25-January-2019
+----------------------------
-1. Some time ago the config macro SUPPORT_UTF8 was changed to SUPPORT_UTF
-because it also applies to UTF-16 and UTF-32. However, this change was not made
-in the pcre2cpp files; consequently the C++ wrapper has from then been compiled
-with a bug in it, which would have been picked up by the unit test except that
-it also had its UTF8 code cut out. The bug was in a global replace when moving
+1. Some time ago the config macro SUPPORT_UTF8 was changed to SUPPORT_UTF
+because it also applies to UTF-16 and UTF-32. However, this change was not made
+in the pcre2cpp files; consequently the C++ wrapper has from then been compiled
+with a bug in it, which would have been picked up by the unit test except that
+it also had its UTF8 code cut out. The bug was in a global replace when moving
forward after matching an empty string.
-2. The C++ wrapper got broken a long time ago (version 7.3, August 2007) when
-(*CR) was invented (assuming it was the first such start-of-pattern option).
-The wrapper could never handle such patterns because it wraps patterns in
-(?:...)\z in order to support end anchoring. I have hacked in some code to fix
-this, that is, move the wrapping till after any existing start-of-pattern
+2. The C++ wrapper got broken a long time ago (version 7.3, August 2007) when
+(*CR) was invented (assuming it was the first such start-of-pattern option).
+The wrapper could never handle such patterns because it wraps patterns in
+(?:...)\z in order to support end anchoring. I have hacked in some code to fix
+this, that is, move the wrapping till after any existing start-of-pattern
special settings.
-3. "pcre2grep" (sic) was accidentally mentioned in an error message (fix was
+3. "pcre2grep" (sic) was accidentally mentioned in an error message (fix was
ported from PCRE2).
4. Typo LCC_ALL for LC_ALL fixed in pcregrep.
5. In a pattern such as /[^\x{100}-\x{ffff}]*[\x80-\xff]/ which has a repeated
negative class with no characters less than 0x100 followed by a positive class
-with only characters less than 0x100, the first class was incorrectly being
+with only characters less than 0x100, the first class was incorrectly being
auto-possessified, causing incorrect match failures.
-6. If the only branch in a conditional subpattern was anchored, the whole
-subpattern was treated as anchored, when it should not have been, since the
-assumed empty second branch cannot be anchored. Demonstrated by test patterns
+6. If the only branch in a conditional subpattern was anchored, the whole
+subpattern was treated as anchored, when it should not have been, since the
+assumed empty second branch cannot be anchored. Demonstrated by test patterns
such as /(?(1)^())b/ or /(?(?=^))b/.
7. Fix subject buffer overread in JIT when UTF is disabled and \X or \R has
a greater than 1 fixed quantifier. This issue was found by Yunho Kim.
-8. If a pattern started with a subroutine call that had a quantifier with a
-minimum of zero, an incorrect "match must start with this character" could be
-recorded. Example: /(?&xxx)*ABC(?<xxx>XYZ)/ would (incorrectly) expect 'A' to
-be the first character of a match.
+8. If a pattern started with a subroutine call that had a quantifier with a
+minimum of zero, an incorrect "match must start with this character" could be
+recorded. Example: /(?&xxx)*ABC(?<xxx>XYZ)/ would (incorrectly) expect 'A' to
+be the first character of a match.
9. Improve MAP_JIT flag usage on MacOS. Patch by Rich Siegel.
diff --git a/LICENCE b/LICENCE
index 8d859d6..760a666 100644
--- a/LICENCE
+++ b/LICENCE
@@ -25,7 +25,7 @@ Email domain: cam.ac.uk
University of Cambridge Computing Service,
Cambridge, England.
-Copyright (c) 1997-2018 University of Cambridge
+Copyright (c) 1997-2019 University of Cambridge
All rights reserved.
@@ -36,7 +36,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester
Email domain: freemail.hu
-Copyright(c) 2010-2018 Zoltan Herczeg
+Copyright(c) 2010-2019 Zoltan Herczeg
All rights reserved.
@@ -47,7 +47,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester
Email domain: freemail.hu
-Copyright(c) 2009-2018 Zoltan Herczeg
+Copyright(c) 2009-2019 Zoltan Herczeg
All rights reserved.
diff --git a/NEWS b/NEWS
index 09b4ad3..6d9a5b8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,22 @@
News about PCRE releases
------------------------
+Note that this library (now called PCRE1) is now being maintained for bug fixes
+only. New projects are advised to use the new PCRE2 libraries.
+
+
Release 8.42 20-March-2018
--------------------------
This is a bug-fix release.
+Release 8.43 25-January-2019
+----------------------------
+
+This is a bug-fix release.
+
+
Release 8.41 13-June-2017
-------------------------
diff --git a/configure.ac b/configure.ac
index 579ec01..7211b25 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,15 +11,15 @@ dnl be defined as -RC2, for example. For real releases, it should be empty.
m4_define(pcre_major, [8])
m4_define(pcre_minor, [43])
m4_define(pcre_prerelease, [-RC1])
-m4_define(pcre_date, [2018-06-25])
+m4_define(pcre_date, [2019-01-23])
# 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.
# Libtool shared library interface versions (current:revision:age)
-m4_define(libpcre_version, [3:10:2])
-m4_define(libpcre16_version, [2:10:2])
-m4_define(libpcre32_version, [0:10:0])
+m4_define(libpcre_version, [3:11:2])
+m4_define(libpcre16_version, [2:11:2])
+m4_define(libpcre32_version, [0:11:0])
m4_define(libpcreposix_version, [0:6:0])
m4_define(libpcrecpp_version, [0:1:0])
diff --git a/pcrecpp_unittest.cc b/pcrecpp_unittest.cc
index 255066f..1fc01a0 100644
--- a/pcrecpp_unittest.cc
+++ b/pcrecpp_unittest.cc
@@ -1202,24 +1202,30 @@ int main(int argc, char** argv) {
CHECK(re_test1.FullMatch(utf8_string));
RE re_test2("...", pcrecpp::UTF8());
CHECK(re_test2.FullMatch(utf8_string));
-
+
// PH added these tests for leading option settings
-
+
+ RE re_testZ0("(*CR)(*NO_START_OPT).........");
+ CHECK(re_testZ0.FullMatch(utf8_string));
+
+#ifdef SUPPORT_UTF
RE re_testZ1("(*UTF8)...");
CHECK(re_testZ1.FullMatch(utf8_string));
RE re_testZ2("(*UTF)...");
CHECK(re_testZ2.FullMatch(utf8_string));
+#ifdef SUPPORT_UCP
RE re_testZ3("(*UCP)(*UTF)...");
CHECK(re_testZ3.FullMatch(utf8_string));
RE re_testZ4("(*UCP)(*LIMIT_MATCH=1000)(*UTF)...");
CHECK(re_testZ4.FullMatch(utf8_string));
-
+
RE re_testZ5("(*UCP)(*LIMIT_MATCH=1000)(*ANY)(*UTF)...");
CHECK(re_testZ5.FullMatch(utf8_string));
-
+#endif
+#endif
// Check that '.' matches one byte or UTF-8 character
// according to the mode.