Revision: 709
http://www.exim.org/viewvc/pcre2?view=rev&revision=709
Author: ph10
Date: 2017-03-25 17:50:54 +0000 (Sat, 25 Mar 2017)
Log Message:
-----------
Documentation update.
Modified Paths:
--------------
code/trunk/Makefile.am
code/trunk/doc/html/index.html
code/trunk/doc/html/pcre2_match_data_free.html
code/trunk/doc/html/pcre2_pattern_info.html
code/trunk/doc/html/pcre2_set_callout.html
code/trunk/doc/html/pcre2_set_recursion_limit.html
code/trunk/doc/html/pcre2_set_recursion_memory_management.html
code/trunk/doc/html/pcre2test.html
code/trunk/doc/index.html.src
code/trunk/doc/pcre2_match_data_free.3
code/trunk/doc/pcre2_pattern_info.3
code/trunk/doc/pcre2_set_callout.3
code/trunk/doc/pcre2_set_recursion_limit.3
code/trunk/doc/pcre2_set_recursion_memory_management.3
code/trunk/doc/pcre2test.txt
Added Paths:
-----------
code/trunk/doc/html/pcre2_set_depth_limit.html
code/trunk/doc/pcre2_set_depth_limit.3
Modified: code/trunk/Makefile.am
===================================================================
--- code/trunk/Makefile.am 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/Makefile.am 2017-03-25 17:50:54 UTC (rev 709)
@@ -68,6 +68,7 @@
doc/html/pcre2_set_callout.html \
doc/html/pcre2_set_character_tables.html \
doc/html/pcre2_set_compile_recursion_guard.html \
+ doc/html/pcre2_set_depth_limit.html \
doc/html/pcre2_set_match_limit.html \
doc/html/pcre2_set_max_pattern_length.html \
doc/html/pcre2_set_offset_limit.html \
@@ -151,6 +152,7 @@
doc/pcre2_set_callout.3 \
doc/pcre2_set_character_tables.3 \
doc/pcre2_set_compile_recursion_guard.3 \
+ doc/pcre2_set_depth_limit.3 \
doc/pcre2_set_match_limit.3 \
doc/pcre2_set_max_pattern_length.3 \
doc/pcre2_set_offset_limit.3 \
Modified: code/trunk/doc/html/index.html
===================================================================
--- code/trunk/doc/html/index.html 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/html/index.html 2017-03-25 17:50:54 UTC (rev 709)
@@ -213,6 +213,9 @@
<tr><td><a href="pcre2_set_compile_recursion_guard.html">pcre2_set_compile_recursion_guard</a></td>
<td> Set up a compile recursion guard function</td></tr>
+<tr><td><a href="pcre2_set_depth_limit.html">pcre2_set_depth_limit</a></td>
+ <td> Set the match backtracking depth limit</td></tr>
+
<tr><td><a href="pcre2_set_match_limit.html">pcre2_set_match_limit</a></td>
<td> Set the match limit</td></tr>
@@ -229,10 +232,10 @@
<td> Set the parentheses nesting limit</td></tr>
<tr><td><a href="pcre2_set_recursion_limit.html">pcre2_set_recursion_limit</a></td>
- <td> Set the match recursion limit</td></tr>
+ <td> Obsolete: use pcre2_set_depth_limit</td></tr>
<tr><td><a href="pcre2_set_recursion_memory_management.html">pcre2_set_recursion_memory_management</a></td>
- <td> Set match recursion memory management</td></tr>
+ <td> Obsolete function that (from 10.30 onwards) does nothing</td></tr>
<tr><td><a href="pcre2_substitute.html">pcre2_substitute</a></td>
<td> Match a compiled pattern to a subject string and do
Modified: code/trunk/doc/html/pcre2_match_data_free.html
===================================================================
--- code/trunk/doc/html/pcre2_match_data_free.html 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/html/pcre2_match_data_free.html 2017-03-25 17:50:54 UTC (rev 709)
@@ -26,8 +26,8 @@
</b><br>
<P>
This function frees the memory occupied by a match data block, using the memory
-freeing function from the general context with which it was created, or
-<b>free()</b> if that was not set.
+freeing function from the general context or compiled pattern with which it was
+created, or <b>free()</b> if that was not set.
</P>
<P>
There is a complete description of the PCRE2 native API in the
Modified: code/trunk/doc/html/pcre2_pattern_info.html
===================================================================
--- code/trunk/doc/html/pcre2_pattern_info.html 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/html/pcre2_pattern_info.html 2017-03-25 17:50:54 UTC (rev 709)
@@ -41,6 +41,7 @@
PCRE2_BSR_UNICODE: Unicode line endings
PCRE2_BSR_ANYCRLF: CR, LF, or CRLF only
PCRE2_INFO_CAPTURECOUNT Number of capturing subpatterns
+ PCRE2_INFO_DEPTHLIMIT Backtracking depth limit if set, otherwise PCRE2_ERROR_UNSET
PCRE2_INFO_FIRSTBITMAP Bitmap of first code units, or NULL
PCRE2_INFO_FIRSTCODETYPE Type of start-of-match information
0 nothing set
@@ -47,9 +48,9 @@
1 first code unit is set
2 start of string or after newline
PCRE2_INFO_FIRSTCODEUNIT First code unit when type is 1
+ PCRE2_INFO_FRAMESIZE Size of backtracking frame
PCRE2_INFO_HASBACKSLASHC Return 1 if pattern contains \C
- PCRE2_INFO_HASCRORLF Return 1 if explicit CR or LF matches
- exist in the pattern
+ PCRE2_INFO_HASCRORLF Return 1 if explicit CR or LF matches exist in the pattern
PCRE2_INFO_JCHANGED Return 1 if (?J) or (?-J) was used
PCRE2_INFO_JITSIZE Size of JIT compiled code, or 0
PCRE2_INFO_LASTCODETYPE Type of must-be-present information
@@ -56,12 +57,9 @@
0 nothing set
1 code unit is set
PCRE2_INFO_LASTCODEUNIT Last code unit when type is 1
- PCRE2_INFO_MATCHEMPTY 1 if the pattern can match an
- empty string, 0 otherwise
- PCRE2_INFO_MATCHLIMIT Match limit if set,
- otherwise PCRE2_ERROR_UNSET
- PCRE2_INFO_MAXLOOKBEHIND Length (in characters) of the longest
- lookbehind assertion
+ PCRE2_INFO_MATCHEMPTY 1 if the pattern can match an empty string, 0 otherwise
+ PCRE2_INFO_MATCHLIMIT Match limit if set, otherwise PCRE2_ERROR_UNSET
+ PCRE2_INFO_MAXLOOKBEHIND Length (in characters) of the longest lookbehind assertion
PCRE2_INFO_MINLENGTH Lower bound length of matching strings
PCRE2_INFO_NAMECOUNT Number of named subpatterns
PCRE2_INFO_NAMEENTRYSIZE Size of name table entries
@@ -72,8 +70,7 @@
PCRE2_NEWLINE_CRLF
PCRE2_NEWLINE_ANY
PCRE2_NEWLINE_ANYCRLF
- PCRE2_INFO_RECURSIONLIMIT Recursion limit if set,
- otherwise PCRE2_ERROR_UNSET
+ PCRE2_INFO_RECURSIONLIMIT Obsolete synonym for PCRE2_INFO_DEPTHLIMIT
PCRE2_INFO_SIZE Size of compiled pattern
</pre>
If <i>where</i> is NULL, the function returns the amount of memory needed for
Modified: code/trunk/doc/html/pcre2_set_callout.html
===================================================================
--- code/trunk/doc/html/pcre2_set_callout.html 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/html/pcre2_set_callout.html 2017-03-25 17:50:54 UTC (rev 709)
@@ -29,7 +29,7 @@
<P>
This function sets the callout fields in a match context (the first argument).
The second argument specifies a callout function, and the third argument is an
-opaque data time that is passed to it. The result of this function is always
+opaque data item that is passed to it. The result of this function is always
zero.
</P>
<P>
Added: code/trunk/doc/html/pcre2_set_depth_limit.html
===================================================================
--- code/trunk/doc/html/pcre2_set_depth_limit.html (rev 0)
+++ code/trunk/doc/html/pcre2_set_depth_limit.html 2017-03-25 17:50:54 UTC (rev 709)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<title>pcre2_set_depth_limit specification</title>
+</head>
+<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
+<h1>pcre2_set_depth_limit man page</h1>
+<p>
+Return to the <a href="index.html">PCRE2 index page</a>.
+</p>
+<p>
+This page is part of the PCRE2 HTML documentation. It was generated
+automatically from the original man page. If there is any nonsense in it,
+please consult the man page, in case the conversion went wrong.
+<br>
+<br><b>
+SYNOPSIS
+</b><br>
+<P>
+<b>#include <pcre2.h></b>
+</P>
+<P>
+<b>int pcre2_set_depth_limit(pcre2_match_context *<i>mcontext</i>,</b>
+<b> uint32_t <i>value</i>);</b>
+</P>
+<br><b>
+DESCRIPTION
+</b><br>
+<P>
+This function sets the backtracking depth limit field in a match context. The
+result is always zero.
+</P>
+<P>
+There is a complete description of the PCRE2 native API in the
+<a href="pcre2api.html"><b>pcre2api</b></a>
+page and a description of the POSIX API in the
+<a href="pcre2posix.html"><b>pcre2posix</b></a>
+page.
+<p>
+Return to the <a href="index.html">PCRE2 index page</a>.
+</p>
Modified: code/trunk/doc/html/pcre2_set_recursion_limit.html
===================================================================
--- code/trunk/doc/html/pcre2_set_recursion_limit.html 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/html/pcre2_set_recursion_limit.html 2017-03-25 17:50:54 UTC (rev 709)
@@ -26,8 +26,8 @@
DESCRIPTION
</b><br>
<P>
-This function sets the recursion limit field in a match context. The result is
-always zero.
+This function is obsolete and should not be used in new code. Use
+<b>pcre2_set_depth_limit()</b> instead.
</P>
<P>
There is a complete description of the PCRE2 native API in the
Modified: code/trunk/doc/html/pcre2_set_recursion_memory_management.html
===================================================================
--- code/trunk/doc/html/pcre2_set_recursion_memory_management.html 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/html/pcre2_set_recursion_memory_management.html 2017-03-25 17:50:54 UTC (rev 709)
@@ -28,13 +28,8 @@
DESCRIPTION
</b><br>
<P>
-This function sets the match context fields for custom memory management when
-PCRE2 is compiled to use the heap instead of the system stack for recursive
-function calls while matching. When PCRE2 is compiled to use the stack (the
-default) this function does nothing. The first argument is a match context, the
-second and third specify the memory allocation and freeing functions, and the
-final argument is an opaque value that is passed to them whenever they are
-called. The result of this function is always zero.
+From release 10.30 onwards, this function is obsolete and does nothing. The
+result is always zero.
</P>
<P>
There is a complete description of the PCRE2 native API in the
Modified: code/trunk/doc/html/pcre2test.html
===================================================================
--- code/trunk/doc/html/pcre2test.html 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/html/pcre2test.html 2017-03-25 17:50:54 UTC (rev 709)
@@ -1377,11 +1377,15 @@
Showing memory usage
</b><br>
<P>
-The <b>memory</b> modifier causes <b>pcre2test</b> to log all heap memory
-allocation and freeing calls that occur during a call to <b>pcre2_match()</b>.
-These occur only when a match requires a bigger vector than the default for
-remembering backtracking points. In many cases there will be none. No heap
-memory is allocated during matching with <b>pcre2_dfa_match</b> or with JIT.
+The <b>memory</b> modifier causes <b>pcre2test</b> to log the sizes of all heap
+memory allocation and freeing calls that occur during a call to
+<b>pcre2_match()</b>. These occur only when a match requires a bigger vector
+than the default for remembering backtracking points. In many cases there will
+be no heap memory used and therefore no additional output. No heap memory is
+allocated during matching with <b>pcre2_dfa_match</b> or with JIT, so in those
+cases the <b>memory</b> modifier never has any effect. For this modifier to
+work, the <b>null_context</b> modifier must not be set on both the pattern and
+the subject, though it can be set on one or the other.
</P>
<br><b>
Setting a starting offset
@@ -1794,7 +1798,7 @@
</P>
<br><a name="SEC21" href="#TOC1">REVISION</a><br>
<P>
-Last updated: 24 March 2017
+Last updated: 25 March 2017
<br>
Copyright © 1997-2017 University of Cambridge.
<br>
Modified: code/trunk/doc/index.html.src
===================================================================
--- code/trunk/doc/index.html.src 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/index.html.src 2017-03-25 17:50:54 UTC (rev 709)
@@ -213,6 +213,9 @@
<tr><td><a href="pcre2_set_compile_recursion_guard.html">pcre2_set_compile_recursion_guard</a></td>
<td> Set up a compile recursion guard function</td></tr>
+<tr><td><a href="pcre2_set_depth_limit.html">pcre2_set_depth_limit</a></td>
+ <td> Set the match backtracking depth limit</td></tr>
+
<tr><td><a href="pcre2_set_match_limit.html">pcre2_set_match_limit</a></td>
<td> Set the match limit</td></tr>
@@ -229,10 +232,10 @@
<td> Set the parentheses nesting limit</td></tr>
<tr><td><a href="pcre2_set_recursion_limit.html">pcre2_set_recursion_limit</a></td>
- <td> Set the match recursion limit</td></tr>
+ <td> Obsolete: use pcre2_set_depth_limit</td></tr>
<tr><td><a href="pcre2_set_recursion_memory_management.html">pcre2_set_recursion_memory_management</a></td>
- <td> Set match recursion memory management</td></tr>
+ <td> Obsolete function that (from 10.30 onwards) does nothing</td></tr>
<tr><td><a href="pcre2_substitute.html">pcre2_substitute</a></td>
<td> Match a compiled pattern to a subject string and do
Modified: code/trunk/doc/pcre2_match_data_free.3
===================================================================
--- code/trunk/doc/pcre2_match_data_free.3 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/pcre2_match_data_free.3 2017-03-25 17:50:54 UTC (rev 709)
@@ -1,4 +1,4 @@
-.TH PCRE2_MATCH_DATA_FREE 3 "24 October 2014" "PCRE2 10.00"
+.TH PCRE2_MATCH_DATA_FREE 3 "25 March 2017" "PCRE2 10.30"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
@@ -14,8 +14,8 @@
.rs
.sp
This function frees the memory occupied by a match data block, using the memory
-freeing function from the general context with which it was created, or
-\fBfree()\fP if that was not set.
+freeing function from the general context or compiled pattern with which it was
+created, or \fBfree()\fP if that was not set.
.P
There is a complete description of the PCRE2 native API in the
.\" HREF
Modified: code/trunk/doc/pcre2_pattern_info.3
===================================================================
--- code/trunk/doc/pcre2_pattern_info.3 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/pcre2_pattern_info.3 2017-03-25 17:50:54 UTC (rev 709)
@@ -1,4 +1,4 @@
-.TH PCRE2_PATTERN_INFO 3 "21 November 2015" "PCRE2 10.21"
+.TH PCRE2_PATTERN_INFO 3 "25 March 2017" "PCRE2 10.30"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
@@ -29,6 +29,9 @@
PCRE2_BSR_UNICODE: Unicode line endings
PCRE2_BSR_ANYCRLF: CR, LF, or CRLF only
PCRE2_INFO_CAPTURECOUNT Number of capturing subpatterns
+.\" JOIN
+ PCRE2_INFO_DEPTHLIMIT Backtracking depth limit if set,
+ otherwise PCRE2_ERROR_UNSET
PCRE2_INFO_FIRSTBITMAP Bitmap of first code units, or NULL
PCRE2_INFO_FIRSTCODETYPE Type of start-of-match information
0 nothing set
@@ -35,7 +38,9 @@
1 first code unit is set
2 start of string or after newline
PCRE2_INFO_FIRSTCODEUNIT First code unit when type is 1
+ PCRE2_INFO_FRAMESIZE Size of backtracking frame
PCRE2_INFO_HASBACKSLASHC Return 1 if pattern contains \eC
+.\" JOIN
PCRE2_INFO_HASCRORLF Return 1 if explicit CR or LF matches
exist in the pattern
PCRE2_INFO_JCHANGED Return 1 if (?J) or (?-J) was used
@@ -44,10 +49,13 @@
0 nothing set
1 code unit is set
PCRE2_INFO_LASTCODEUNIT Last code unit when type is 1
+.\" JOIN
PCRE2_INFO_MATCHEMPTY 1 if the pattern can match an
empty string, 0 otherwise
+.\" JOIN
PCRE2_INFO_MATCHLIMIT Match limit if set,
otherwise PCRE2_ERROR_UNSET
+.\" JOIN
PCRE2_INFO_MAXLOOKBEHIND Length (in characters) of the longest
lookbehind assertion
PCRE2_INFO_MINLENGTH Lower bound length of matching strings
@@ -60,8 +68,7 @@
PCRE2_NEWLINE_CRLF
PCRE2_NEWLINE_ANY
PCRE2_NEWLINE_ANYCRLF
- PCRE2_INFO_RECURSIONLIMIT Recursion limit if set,
- otherwise PCRE2_ERROR_UNSET
+ PCRE2_INFO_RECURSIONLIMIT Obsolete synonym for PCRE2_INFO_DEPTHLIMIT
PCRE2_INFO_SIZE Size of compiled pattern
.sp
If \fIwhere\fP is NULL, the function returns the amount of memory needed for
Modified: code/trunk/doc/pcre2_set_callout.3
===================================================================
--- code/trunk/doc/pcre2_set_callout.3 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/pcre2_set_callout.3 2017-03-25 17:50:54 UTC (rev 709)
@@ -1,4 +1,4 @@
-.TH PCRE2_SET_CALLOUT 3 "24 October 2014" "PCRE2 10.00"
+.TH PCRE2_SET_CALLOUT 3 "21 March 2017" "PCRE2 10.30"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
@@ -17,7 +17,7 @@
.sp
This function sets the callout fields in a match context (the first argument).
The second argument specifies a callout function, and the third argument is an
-opaque data time that is passed to it. The result of this function is always
+opaque data item that is passed to it. The result of this function is always
zero.
.P
There is a complete description of the PCRE2 native API in the
Added: code/trunk/doc/pcre2_set_depth_limit.3
===================================================================
--- code/trunk/doc/pcre2_set_depth_limit.3 (rev 0)
+++ code/trunk/doc/pcre2_set_depth_limit.3 2017-03-25 17:50:54 UTC (rev 709)
@@ -0,0 +1,28 @@
+.TH PCRE2_SET_DEPTH_LIMIT 3 "25 March 2017" "PCRE2 10.30"
+.SH NAME
+PCRE2 - Perl-compatible regular expressions (revised API)
+.SH SYNOPSIS
+.rs
+.sp
+.B #include <pcre2.h>
+.PP
+.nf
+.B int pcre2_set_depth_limit(pcre2_match_context *\fImcontext\fP,
+.B " uint32_t \fIvalue\fP);"
+.fi
+.
+.SH DESCRIPTION
+.rs
+.sp
+This function sets the backtracking depth limit field in a match context. The
+result is always zero.
+.P
+There is a complete description of the PCRE2 native API in the
+.\" HREF
+\fBpcre2api\fP
+.\"
+page and a description of the POSIX API in the
+.\" HREF
+\fBpcre2posix\fP
+.\"
+page.
Modified: code/trunk/doc/pcre2_set_recursion_limit.3
===================================================================
--- code/trunk/doc/pcre2_set_recursion_limit.3 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/pcre2_set_recursion_limit.3 2017-03-25 17:50:54 UTC (rev 709)
@@ -1,4 +1,4 @@
-.TH PCRE2_SET_RECURSION_LIMIT 3 "24 October 2014" "PCRE2 10.00"
+.TH PCRE2_SET_RECURSION_LIMIT 3 "25 March 2017" "PCRE2 10.30"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
@@ -14,8 +14,8 @@
.SH DESCRIPTION
.rs
.sp
-This function sets the recursion limit field in a match context. The result is
-always zero.
+This function is obsolete and should not be used in new code. Use
+\fBpcre2_set_depth_limit()\fP instead.
.P
There is a complete description of the PCRE2 native API in the
.\" HREF
Modified: code/trunk/doc/pcre2_set_recursion_memory_management.3
===================================================================
--- code/trunk/doc/pcre2_set_recursion_memory_management.3 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/pcre2_set_recursion_memory_management.3 2017-03-25 17:50:54 UTC (rev 709)
@@ -1,4 +1,4 @@
-.TH PCRE2_SET_RECURSION_MEMORY_MANAGEMENT 3 "24 October 2014" "PCRE2 10.00"
+.TH PCRE2_SET_RECURSION_MEMORY_MANAGEMENT 3 "25 March 2017" "PCRE2 10.30"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
@@ -16,13 +16,8 @@
.SH DESCRIPTION
.rs
.sp
-This function sets the match context fields for custom memory management when
-PCRE2 is compiled to use the heap instead of the system stack for recursive
-function calls while matching. When PCRE2 is compiled to use the stack (the
-default) this function does nothing. The first argument is a match context, the
-second and third specify the memory allocation and freeing functions, and the
-final argument is an opaque value that is passed to them whenever they are
-called. The result of this function is always zero.
+From release 10.30 onwards, this function is obsolete and does nothing. The
+result is always zero.
.P
There is a complete description of the PCRE2 native API in the
.\" HREF
Modified: code/trunk/doc/pcre2test.txt
===================================================================
--- code/trunk/doc/pcre2test.txt 2017-03-25 17:08:20 UTC (rev 708)
+++ code/trunk/doc/pcre2test.txt 2017-03-25 17:50:54 UTC (rev 709)
@@ -1234,12 +1234,16 @@
Showing memory usage
- The memory modifier causes pcre2test to log all heap memory allocation
- and freeing calls that occur during a call to pcre2_match(). These
- occur only when a match requires a bigger vector than the default for
- remembering backtracking points. In many cases there will be none. No
- heap memory is allocated during matching with pcre2_dfa_match or with
- JIT.
+ The memory modifier causes pcre2test to log the sizes of all heap mem-
+ ory allocation and freeing calls that occur during a call to
+ pcre2_match(). These occur only when a match requires a bigger vector
+ than the default for remembering backtracking points. In many cases
+ there will be no heap memory used and therefore no additional output.
+ No heap memory is allocated during matching with pcre2_dfa_match or
+ with JIT, so in those cases the memory modifier never has any effect.
+ For this modifier to work, the null_context modifier must not be set on
+ both the pattern and the subject, though it can be set on one or the
+ other.
Setting a starting offset
@@ -1626,5 +1630,5 @@
REVISION
- Last updated: 24 March 2017
+ Last updated: 25 March 2017
Copyright (c) 1997-2017 University of Cambridge.