From: Nuno Lopes Date: Tue, 19 Jun 2007 17:11:30 +0000 (+0000) Subject: final PCRE 7.2 release :-) X-Git-Tag: php-5.2.4RC1~322 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=034e8692b7e89776d65861098b6d35fd73cf63a2;p=php final PCRE 7.2 release :-) --- diff --git a/ext/pcre/pcrelib/ChangeLog b/ext/pcre/pcrelib/ChangeLog index fb2747fd09..87c2de74dc 100644 --- a/ext/pcre/pcrelib/ChangeLog +++ b/ext/pcre/pcrelib/ChangeLog @@ -1,7 +1,7 @@ ChangeLog for PCRE ------------------ -Version 7.2 13-June-07 +Version 7.2 19-June-07 --------------------- 1. If the fr_FR locale cannot be found for test 3, try the "french" locale, @@ -69,6 +69,9 @@ Version 7.2 13-June-07 pcrecpp::RE("a*?").FullMatch("aaa") does not, and pcrecpp::RE("a*?\\z").FullMatch("aaa") does again. +12. If \p or \P was used in non-UTF-8 mode on a character greater than 127 + it matched the wrong number of bytes. + Version 7.1 24-Apr-07 --------------------- diff --git a/ext/pcre/pcrelib/NEWS b/ext/pcre/pcrelib/NEWS index 26d0999d91..f1083e8601 100644 --- a/ext/pcre/pcrelib/NEWS +++ b/ext/pcre/pcrelib/NEWS @@ -2,7 +2,7 @@ News about PCRE releases ------------------------ -Release 7.2 13-Jun-07 +Release 7.2 19-Jun-07 --------------------- WARNING: saved patterns that were compiled by earlier versions of PCRE must be diff --git a/ext/pcre/pcrelib/config.h b/ext/pcre/pcrelib/config.h index 2913989624..510197fa3e 100644 --- a/ext/pcre/pcrelib/config.h +++ b/ext/pcre/pcrelib/config.h @@ -224,13 +224,13 @@ them both to 0; an emulation function will be used. */ #define PACKAGE_NAME "PCRE" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PCRE 7.2-RC3" +#define PACKAGE_STRING "PCRE 7.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre" /* Define to the version of this package. */ -#define PACKAGE_VERSION "7.2-RC3" +#define PACKAGE_VERSION "7.2" /* If you are compiling for a system other than a Unix-like system or @@ -272,7 +272,7 @@ them both to 0; an emulation function will be used. */ /* Version number of package */ #ifndef VERSION -#define VERSION "7.2-RC3" +#define VERSION "7.2" #endif /* Define to empty if `const' does not conform to ANSI C. */ diff --git a/ext/pcre/pcrelib/doc/pcre.txt b/ext/pcre/pcrelib/doc/pcre.txt index e55cf01c3a..823f15c440 100644 --- a/ext/pcre/pcrelib/doc/pcre.txt +++ b/ext/pcre/pcrelib/doc/pcre.txt @@ -3047,8 +3047,10 @@ BACKSLASH Unicode character properties When PCRE is built with Unicode character property support, three addi- - tional escape sequences to match character properties are available - when UTF-8 mode is selected. They are: + tional escape sequences that match characters with specific properties + are available. When not in UTF-8 mode, these sequences are of course + limited to testing characters whose codepoints are less than 256, but + they do work in this mode. The extra escape sequences are: \p{xx} a character with the xx property \P{xx} a character without the xx property @@ -3162,7 +3164,9 @@ BACKSLASH That is, it matches a character without the "mark" property, followed by zero or more characters with the "mark" property, and treats the sequence as an atomic group (see below). Characters with the "mark" - property are typically accents that affect the preceding character. + property are typically accents that affect the preceding character. + None of them have codepoints less than 256, so in non-UTF-8 mode \X + matches any one character. Matching characters by Unicode property is not fast, because PCRE has to search a structure that contains data for over fifteen thousand @@ -4539,7 +4543,7 @@ AUTHOR REVISION - Last updated: 13 June 2007 + Last updated: 19 June 2007 Copyright (c) 1997-2007 University of Cambridge. ------------------------------------------------------------------------------ diff --git a/ext/pcre/pcrelib/pcre.h b/ext/pcre/pcrelib/pcre.h index 924a817bbf..7399896298 100644 --- a/ext/pcre/pcrelib/pcre.h +++ b/ext/pcre/pcrelib/pcre.h @@ -43,8 +43,8 @@ POSSIBILITY OF SUCH DAMAGE. #define PCRE_MAJOR 7 #define PCRE_MINOR 2 -#define PCRE_PRERELEASE -RC3 -#define PCRE_DATE 2007-06-13 +#define PCRE_PRERELEASE +#define PCRE_DATE 2007-06-19 /* When an application links to a PCRE DLL in Windows, the symbols that are imported have to be identified as such. When building PCRE, the appropriate diff --git a/ext/pcre/pcrelib/pcre_exec.c b/ext/pcre/pcrelib/pcre_exec.c index f62b5fc18e..a749a216ea 100644 --- a/ext/pcre/pcrelib/pcre_exec.c +++ b/ext/pcre/pcrelib/pcre_exec.c @@ -2786,7 +2786,7 @@ for (;;) for (i = 1; i <= min; i++) { if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); + GETCHARINCTEST(c, eptr); } break; @@ -2794,7 +2794,7 @@ for (;;) for (i = 1; i <= min; i++) { if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); + GETCHARINCTEST(c, eptr); prop_category = _pcre_ucp_findprop(c, &prop_chartype, &prop_script); if ((prop_chartype == ucp_Lu || prop_chartype == ucp_Ll || @@ -2807,7 +2807,7 @@ for (;;) for (i = 1; i <= min; i++) { if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); + GETCHARINCTEST(c, eptr); prop_category = _pcre_ucp_findprop(c, &prop_chartype, &prop_script); if ((prop_category == prop_value) == prop_fail_result) RRETURN(MATCH_NOMATCH); @@ -2818,7 +2818,7 @@ for (;;) for (i = 1; i <= min; i++) { if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); + GETCHARINCTEST(c, eptr); prop_category = _pcre_ucp_findprop(c, &prop_chartype, &prop_script); if ((prop_chartype == prop_value) == prop_fail_result) RRETURN(MATCH_NOMATCH); @@ -2829,7 +2829,7 @@ for (;;) for (i = 1; i <= min; i++) { if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); + GETCHARINCTEST(c, eptr); prop_category = _pcre_ucp_findprop(c, &prop_chartype, &prop_script); if ((prop_script == prop_value) == prop_fail_result) RRETURN(MATCH_NOMATCH); diff --git a/ext/pcre/pcrelib/testdata/testinput6 b/ext/pcre/pcrelib/testdata/testinput6 index 1028845b0b..05e8feb026 100644 --- a/ext/pcre/pcrelib/testdata/testinput6 +++ b/ext/pcre/pcrelib/testdata/testinput6 @@ -771,5 +771,11 @@ was broken in all cases./ /^\x{023a}+([^X])/8i \x{023a}\x{2c65}X + +/Check property support in non-UTF-8 mode/ +/\p{L}{4}/ + 123abcdefg + 123abc\xc4\xc5zz + / End of testinput6 / diff --git a/ext/pcre/pcrelib/testdata/testinput9 b/ext/pcre/pcrelib/testdata/testinput9 index e11dda1bf5..07d9548af5 100644 --- a/ext/pcre/pcrelib/testdata/testinput9 +++ b/ext/pcre/pcrelib/testdata/testinput9 @@ -819,4 +819,10 @@ /^\x{023a}+([^X])/8i \x{023a}\x{2c65}X +/Check property support in non-UTF-8 mode/ + +/\p{L}{4}/ + 123abcdefg + 123abc\xc4\xc5zz + / End / diff --git a/ext/pcre/pcrelib/testdata/testoutput6 b/ext/pcre/pcrelib/testdata/testoutput6 index f6a1d0e229..776eed4e5f 100644 --- a/ext/pcre/pcrelib/testdata/testoutput6 +++ b/ext/pcre/pcrelib/testdata/testoutput6 @@ -1443,5 +1443,13 @@ was broken in all cases./ \x{023a}\x{2c65}X 0: \x{23a}\x{2c65} 1: \x{2c65} + +/Check property support in non-UTF-8 mode/ +/\p{L}{4}/ + 123abcdefg + 0: abcd + 123abc\xc4\xc5zz + 0: abc\xc4 + / End of testinput6 / diff --git a/ext/pcre/pcrelib/testdata/testoutput9 b/ext/pcre/pcrelib/testdata/testoutput9 index 2cc61ac593..bc5f0e71a2 100644 --- a/ext/pcre/pcrelib/testdata/testoutput9 +++ b/ext/pcre/pcrelib/testdata/testoutput9 @@ -1632,4 +1632,12 @@ No match \x{023a}\x{2c65}X 0: \x{23a}\x{2c65} +/Check property support in non-UTF-8 mode/ + +/\p{L}{4}/ + 123abcdefg + 0: abcd + 123abc\xc4\xc5zz + 0: abc\xc4 + / End /