From 2a5a5f382529753b514cde93a4c2138162dc712b Mon Sep 17 00:00:00 2001
From: jzmaddock
Date: Mon, 5 Oct 2015 19:13:04 +0100
Subject: [PATCH] Document changes.
---
doc/history.qbk | 9 +++
.../background_information/history.html | 54 ++++++++++++------
doc/html/boost_regex/syntax/perl_syntax.html | 55 +++++++++++++++++--
doc/html/index.html | 2 +-
doc/syntax_perl.qbk | 17 ++++++
5 files changed, 114 insertions(+), 23 deletions(-)
diff --git a/doc/history.qbk b/doc/history.qbk
index 402fa19f..d56ead8b 100644
--- a/doc/history.qbk
+++ b/doc/history.qbk
@@ -15,6 +15,15 @@ Currently open issues can be viewed [@https://svn.boost.org/trac/boost/query?sta
All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here].
+[h4 Boost.Regex-5.1.0]
+
+* Add support for Perl's backtracking control verbs, see [@https://svn.boost.org/trac/boost/ticket/11205 #11205]. Note however, that
+(*MARK) and operations on marks are not currently supported.
+* Fix incorrect range end when matching \[\[:unicode:\]\], see [@https://svn.boost.org/trac/boost/ticket/11524 #11524].
+* Change POSIX reg_comp API to not check potentially uninitialized memory, note that code which was previously free from memory
+leaks (but none the less buggy, as it didn't call reg_free) will now leak. See [@https://svn.boost.org/trac/boost/ticket/11472 #11472].
+* Make sub_match a valid C++ range type, see [@https://svn.boost.org/trac/boost/ticket/11036 #11036].
+
[h4 Boost.Regex-5.0.1 (Boost-1.58.0)]
* Fixed some typos as in [@https://svn.boost.org/trac/boost/ticket/10682 #10682].
diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html
index 79b8f2c3..4207a825 100644
--- a/doc/html/boost_regex/background_information/history.html
+++ b/doc/html/boost_regex/background_information/history.html
@@ -37,6 +37,28 @@
+
+-
+ Add support for Perl's backtracking control verbs, see #11205.
+ Note however, that (*MARK) and operations on marks are not currently
+ supported.
+
+-
+ Fix incorrect range end when matching [[:unicode:]], see #11524.
+
+-
+ Change POSIX reg_comp API to not check potentially uninitialized memory,
+ note that code which was previously free from memory leaks (but none
+ the less buggy, as it didn't call reg_free) will now leak. See #11472.
+
+-
+ Make sub_match a valid C++ range type, see #11036.
+
+
+
@@ -69,7 +91,7 @@
@@ -102,14 +124,14 @@
Fixed issue #8569.
@@ -117,7 +139,7 @@
#7644.
@@ -127,7 +149,7 @@
#6346.
@@ -136,7 +158,7 @@
expression.
@@ -146,7 +168,7 @@
#5736.
@@ -158,7 +180,7 @@
#5504.
@@ -176,7 +198,7 @@
#3890
-
@@ -212,7 +234,7 @@
branch resets and recursive regular expressions.
-
Fixed bug in partial matches of bounded repeats of '.'.
diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html
index 80976423..d806472f 100644
--- a/doc/html/boost_regex/syntax/perl_syntax.html
+++ b/doc/html/boost_regex/syntax/perl_syntax.html
@@ -1361,8 +1361,51 @@
from elsewhere in the pattern.
-
+ This library has partial support for Perl's backtracking control verbs, in
+ particular (*MARK) is not supported. There may also be detail differences
+ in behaviour between this library and Perl, not least because Perl's behaviour
+ is rather under-documented and often somewhat random in how it behaves in
+ practice. The verbs supported are:
+
+
+-
+
(*PRUNE)
Has no effect unless backtracked onto, in
+ which case all the backtracking information prior to this point is discarded.
+
+-
+
(*SKIP)
Behaves the same as (*PRUNE)
+ except that it is assumed that no match can possibly occur prior to the
+ current point in the string being searched. This can be used to optimize
+ searches by skipping over chunks of text that have already been determined
+ can not form a match.
+
+-
+
(*THEN)
Has no effect unless backtracked onto, in
+ which case all subsequent alternatives in a group of alternations are
+ discarded.
+
+-
+
(*COMMIT)
Has no effect unless backtracked onto, in
+ which case all subsequent matching/searching attempts are abandoned.
+
+-
+
(*FAIL)
Causes the match to fail unconditionally at
+ this point, can be used to force the engine to backtrack.
+
+-
+
(*ACCEPT)
Causes the pattern to be considered matched
+ at the current point. Any half-open sub-expressions are closed at the
+ current point.
+
+
+
+
Operator
precedence
@@ -1397,7 +1440,7 @@
-
+
What
gets matched
@@ -1573,7 +1616,7 @@
-
+
Variations
@@ -1582,7 +1625,7 @@
and JScript
are all synonyms for perl
.
-
+
Options
@@ -1594,7 +1637,7 @@
are to be applied.
-
+
Pattern
Modifiers
@@ -1606,7 +1649,7 @@
and no_mod_s
.
-
+
References
diff --git a/doc/html/index.html b/doc/html/index.html
index 291e2168..70ec17f7 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -198,7 +198,7 @@
-Last revised: May 05, 2015 at 12:03:52 GMT |
+Last revised: October 05, 2015 at 18:11:16 GMT |
|
diff --git a/doc/syntax_perl.qbk b/doc/syntax_perl.qbk
index a7927adc..86156084 100644
--- a/doc/syntax_perl.qbk
+++ b/doc/syntax_perl.qbk
@@ -564,6 +564,23 @@ executes /no-pattern/.
* [^(?(DEFINE)never-exectuted-pattern)] Defines a block of code that is never executed and matches no characters:
this is usually used to define one or more named sub-expressions which are referred to from elsewhere in the pattern.
+[h5 Backtracking Control Verbs]
+
+This library has partial support for Perl's backtracking control verbs, in particular (*MARK) is not supported.
+There may also be detail differences in behaviour between this library and Perl, not least because Perl's behaviour
+is rather under-documented and often somewhat random in how it behaves in practice. The verbs supported are:
+
+* [^(*PRUNE)] Has no effect unless backtracked onto, in which case all the backtracking information prior to this
+point is discarded.
+* [^(*SKIP)] Behaves the same as [^(*PRUNE)] except that it is assumed that no match can possibly occur prior to
+the current point in the string being searched. This can be used to optimize searches by skipping over chunks of text
+that have already been determined can not form a match.
+* [^(*THEN)] Has no effect unless backtracked onto, in which case all subsequent alternatives in a group of alternations
+are discarded.
+* [^(*COMMIT)] Has no effect unless backtracked onto, in which case all subsequent matching/searching attempts are abandoned.
+* [^(*FAIL)] Causes the match to fail unconditionally at this point, can be used to force the engine to backtrack.
+* [^(*ACCEPT)] Causes the pattern to be considered matched at the current point. Any half-open sub-expressions are closed at the current point.
+
[h4 Operator precedence]
The order of precedence for of operators is as follows: