Revision: 972
http://vcs.pcre.org/viewvc?view=rev&revision=972
Author: ph10
Date: 2012-06-01 19:03:18 +0100 (Fri, 01 Jun 2012)
Log Message:
-----------
Documentation and other tidying for release.
Modified Paths:
--------------
code/trunk/configure.ac
code/trunk/doc/pcrecompat.3
code/trunk/doc/pcrepattern.3
code/trunk/testdata/testinput1
code/trunk/testdata/testinput2
code/trunk/testdata/testoutput1
code/trunk/testdata/testoutput2
Modified: code/trunk/configure.ac
===================================================================
--- code/trunk/configure.ac 2012-06-01 16:29:43 UTC (rev 971)
+++ code/trunk/configure.ac 2012-06-01 18:03:18 UTC (rev 972)
@@ -11,7 +11,7 @@
m4_define(pcre_major, [8])
m4_define(pcre_minor, [31])
m4_define(pcre_prerelease, [-RC1])
-m4_define(pcre_date, [2012-02-012])
+m4_define(pcre_date, [2012-06-01])
# 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.
Modified: code/trunk/doc/pcrecompat.3
===================================================================
--- code/trunk/doc/pcrecompat.3 2012-06-01 16:29:43 UTC (rev 971)
+++ code/trunk/doc/pcrecompat.3 2012-06-01 18:03:18 UTC (rev 972)
@@ -95,8 +95,16 @@
.\"
page.
.P
-11. If (*THEN) is present in a group that is called as a subroutine, its action
-is limited to that group, even if the group does not contain any | characters.
+11. If any of the backtracking control verbs are used in an assertion or in a
+subpattern that is called as a subroutine (whether or not recursively), their
+effect is confined to that subpattern; it does not extend to the surrounding
+pattern. This is not always the case in Perl. In particular, if (*THEN) is
+present in a group that is called as a subroutine, its action is limited to
+that group, even if the group does not contain any | characters. There is one
+exception to this: the name from a *(MARK), (*PRUNE), or (*THEN) that is
+encountered in a successful positive assertion \fIis\fP passed back when a
+match succeeds (compare capturing parentheses in assertions). Note that such
+subpatterns are processed as anchored at the point where they are tested.
.P
12. There are some differences that are concerned with the settings of captured
strings when part of a pattern is repeated. For example, matching "aba" against
@@ -175,6 +183,6 @@
.rs
.sp
.nf
-Last updated: 08 Januray 2012
+Last updated: 01 June 2012
Copyright (c) 1997-2012 University of Cambridge.
.fi
Modified: code/trunk/doc/pcrepattern.3
===================================================================
--- code/trunk/doc/pcrepattern.3 2012-06-01 16:29:43 UTC (rev 971)
+++ code/trunk/doc/pcrepattern.3 2012-06-01 18:03:18 UTC (rev 972)
@@ -2599,7 +2599,7 @@
a successful positive assertion \fIis\fP passed back when a match succeeds
(compare capturing parentheses in assertions). Note that such subpatterns are
processed as anchored at the point where they are tested. Note also that Perl's
-treatment of subroutines is different in some cases.
+treatment of subroutines and assertions is different in some cases.
.P
The new verbs make use of what was previously invalid syntax: an opening
parenthesis followed by an asterisk. They are generally of the form
@@ -2911,6 +2911,6 @@
.rs
.sp
.nf
-Last updated: 04 May 2012
+Last updated: 01 June 2012
Copyright (c) 1997-2012 University of Cambridge.
.fi
Modified: code/trunk/testdata/testinput1
===================================================================
--- code/trunk/testdata/testinput1 2012-06-01 16:29:43 UTC (rev 971)
+++ code/trunk/testdata/testinput1 2012-06-01 18:03:18 UTC (rev 972)
@@ -5255,8 +5255,5 @@
/(?!a(*COMMIT)b)ac|cd/
ac
-
-/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
- ac
/-- End of testinput1 --/
Modified: code/trunk/testdata/testinput2
===================================================================
--- code/trunk/testdata/testinput2 2012-06-01 16:29:43 UTC (rev 971)
+++ code/trunk/testdata/testinput2 2012-06-01 18:03:18 UTC (rev 972)
@@ -3762,5 +3762,11 @@
"AB(C(D))(E(F))?(?(?=\2)(?=\4))"
ABCDGHI\O03
+
+/-- This one is here because Perl does not confine the *COMMIT to the
+assertion, and therefore fails the entire subroutine call. --/
+
+/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
+ ac
/-- End of testinput2 --/
Modified: code/trunk/testdata/testoutput1
===================================================================
--- code/trunk/testdata/testoutput1 2012-06-01 16:29:43 UTC (rev 971)
+++ code/trunk/testdata/testoutput1 2012-06-01 18:03:18 UTC (rev 972)
@@ -8722,9 +8722,5 @@
/(?!a(*COMMIT)b)ac|cd/
ac
0: ac
-
-/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
- ac
- 0: ac
/-- End of testinput1 --/
Modified: code/trunk/testdata/testoutput2
===================================================================
--- code/trunk/testdata/testoutput2 2012-06-01 16:29:43 UTC (rev 971)
+++ code/trunk/testdata/testoutput2 2012-06-01 18:03:18 UTC (rev 972)
@@ -12353,5 +12353,12 @@
ABCDGHI\O03
Matched, but too many substrings
0: ABCD
+
+/-- This one is here because Perl does not confine the *COMMIT to the
+assertion, and therefore fails the entire subroutine call. --/
+
+/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
+ ac
+ 0: ac
/-- End of testinput2 --/