summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2011-01-11 16:49:55 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2011-01-11 16:49:55 +0000
commit85b2727ef6978843ae52322311400d63b45bb746 (patch)
treef37020e09b7fbb3fc0dbe865e51363c72fcc682f
parent13b67a95be369b706f2b986b4ac5e3b04400f81c (diff)
downloadpcre-85b2727ef6978843ae52322311400d63b45bb746.tar.gz
Add script to check for man page markup typos. Fix some typos.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@583 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r--ChangeLog7
-rwxr-xr-xCheckMan67
-rwxr-xr-xPrepareRelease13
-rw-r--r--doc/html/index.html16
-rw-r--r--doc/html/pcre_compile2.html2
-rw-r--r--doc/html/pcrecpp.html5
-rw-r--r--doc/html/pcregrep.html2
-rw-r--r--doc/pcre.310
-rw-r--r--doc/pcre.txt59
-rw-r--r--doc/pcre_compile.314
-rw-r--r--doc/pcre_compile2.316
-rw-r--r--doc/pcre_config.310
-rw-r--r--doc/pcrecpp.318
-rw-r--r--doc/pcregrep.12
-rw-r--r--doc/pcreprecompile.32
-rw-r--r--maint/README56
16 files changed, 193 insertions, 106 deletions
diff --git a/ChangeLog b/ChangeLog
index 32cd002..4e7666a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,13 @@
ChangeLog for PCRE
------------------
+Version 8.12 11-Jan-2011
+------------------------
+
+1. Fixed some typos in the markup of the man pages, and wrote a script that
+ checks for such things as part of the documentation building process.
+
+
Version 8.11 10-Dec-2010
------------------------
diff --git a/CheckMan b/CheckMan
new file mode 100755
index 0000000..de01334
--- /dev/null
+++ b/CheckMan
@@ -0,0 +1,67 @@
+#! /usr/bin/perl
+
+# A script to scan PCRE's man pages to check for typos in the control
+# sequences. I use only a small set of the available repertoire, so it is
+# straightforward to check that nothing else has slipped in by mistake. This
+# script should be called in the doc directory.
+
+$yield = 0;
+
+while (scalar(@ARGV) > 0)
+ {
+ $line = 0;
+ $file = shift @ARGV;
+
+ open (IN, $file) || die "Failed to open $file\n";
+
+ while (<IN>)
+ {
+ $line++;
+ if (/^\s*$/)
+ {
+ printf "Empty line $line of $file\n";
+ $yield = 1;
+ }
+ elsif (/^\./)
+ {
+ if (!/^\.\s*$|
+ ^\.B\s+\S|
+ ^\.TH\s\S|
+ ^\.SH\s\S|
+ ^\.SS\s\S|
+ ^\.TP(?:\s\d+)?\s*$|
+ ^\.ti\s\S|
+ ^\.SM\s*$|
+ ^\.rs\s*$|
+ ^\.sp\s*$|
+ ^\.nf\s*$|
+ ^\.fi\s*$|
+ ^\.P\s*$|
+ ^\.PP\s*$|
+ ^\.\\"(?:\ HREF)?\s*$|
+ ^\.\\"\sHTML\s<a\shref="[^"]+?">\s*$|
+ ^\.\\"\sHTML\s<a\sname="[^"]+?"><\/a>\s*$|
+ ^\.\\"\s<\/a>\s*$|
+ ^\.\\"\sJOINSH\s*$|
+ ^\.\\"\sJOIN\s*$/x
+ )
+ {
+ printf "Bad control line $line of $file\n";
+ $yield = 1;
+ }
+ }
+ else
+ {
+ if (/\\[^ef]|\\f[^IBP]/)
+ {
+ printf "Bad backslash in line $line of $file\n";
+ $yield = 1;
+ }
+ }
+ }
+
+ close(IN);
+ }
+
+exit $yield;
+# End
diff --git a/PrepareRelease b/PrepareRelease
index b083095..02b2300 100755
--- a/PrepareRelease
+++ b/PrepareRelease
@@ -12,6 +12,8 @@
# "knows" the relevant troff constructs that are used in the PCRE
# man pages.
+# CheckMan A Perl script that checks man pages for typos in the mark up.
+
# CleanTxt A Perl script that cleans up the output of "nroff -man" by
# removing backspaces and other redundant text so as to produce
# a readable .txt file.
@@ -24,11 +26,20 @@
# doc/html can be deleted and re-created from scratch.
-# First, sort out the documentation
+# First, sort out the documentation. Remove pcredemo.3 first because it won't
+# pass the markup check (it is created below, using markup that none of the
+# other pages use).
cd doc
echo Processing documentation
+/bin/rm -f pcredemo.3
+
+# Check the remaining man pages
+
+../CheckMan *.1 *.3
+if [ $? != 0 ] ; then exit 1; fi
+
# Make Text form of the documentation. It needs some mangling to make it
# tidy for online reading. Concatenate all the .3 stuff, but omit the
# individual function pages.
diff --git a/doc/html/index.html b/doc/html/index.html
index d9af7e1..58dfe45 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -1,10 +1,10 @@
<html>
-<!-- This is a manually maintained file that is the root of the HTML version of
- the PCRE documentation. When the HTML documents are built from the man
- page versions, the entire doc/html directory is emptied, this file is then
- copied into doc/html/index.html, and the remaining files therein are
+<!-- This is a manually maintained file that is the root of the HTML version of
+ the PCRE documentation. When the HTML documents are built from the man
+ page versions, the entire doc/html directory is emptied, this file is then
+ copied into doc/html/index.html, and the remaining files therein are
created by the 132html script.
--->
+-->
<head>
<title>PCRE specification</title>
</head>
@@ -74,11 +74,11 @@ The HTML documentation for PCRE comprises the following pages:
</table>
<p>
-There are also individual pages that summarize the interface for each function
+There are also individual pages that summarize the interface for each function
in the library:
</p>
-<table>
+<table>
<tr><td><a href="pcre_compile.html">pcre_compile</a></td>
<td>&nbsp;&nbsp;Compile a regular expression</td></tr>
@@ -129,7 +129,7 @@ in the library:
<tr><td><a href="pcre_maketables.html">pcre_maketables</a></td>
<td>&nbsp;&nbsp;Build character tables in current locale</td></tr>
-
+
<tr><td><a href="pcre_refcount.html">pcre_refcount</a></td>
<td>&nbsp;&nbsp;Maintain reference count in compiled pattern</td></tr>
diff --git a/doc/html/pcre_compile2.html b/doc/html/pcre_compile2.html
index 455eeae..f27fffd 100644
--- a/doc/html/pcre_compile2.html
+++ b/doc/html/pcre_compile2.html
@@ -31,8 +31,6 @@ DESCRIPTION
This function compiles a regular expression into an internal form. It is the
same as <b>pcre_compile()</b>, except for the addition of the <i>errorcodeptr</i>
argument. The arguments are:
-</P>
-<P>
<pre>
<i>pattern</i> A zero-terminated string containing the
regular expression to be compiled
diff --git a/doc/html/pcrecpp.html b/doc/html/pcrecpp.html
index 7b52d92..887c245 100644
--- a/doc/html/pcrecpp.html
+++ b/doc/html/pcrecpp.html
@@ -282,10 +282,7 @@ is defined in the pcrecpp namespace.
Example: read lines of the form "var = value" from a string.
string contents = ...; // Fill string somehow
pcrecpp::StringPiece input(contents); // Wrap in a StringPiece
-</PRE>
-</P>
-<P>
-<pre>
+
string var;
int value;
pcrecpp::RE re("(\\w+) = (\\d+)\n");
diff --git a/doc/html/pcregrep.html b/doc/html/pcregrep.html
index f568e52..7a03b7c 100644
--- a/doc/html/pcregrep.html
+++ b/doc/html/pcregrep.html
@@ -379,7 +379,7 @@ when processing patterns that are not going to match, but which have a very
large number of possibilities in their search trees. The classic example is a
pattern that uses nested unlimited repeats. Internally, PCRE uses a function
called <b>match()</b> which it calls repeatedly (sometimes recursively). The
-limit set by \fb--match-limit\fP is imposed on the number of times this
+limit set by <b>--match-limit</b> is imposed on the number of times this
function is called during a match, which has the effect of limiting the amount
of backtracking that can take place.
<br>
diff --git a/doc/pcre.3 b/doc/pcre.3
index bc3ade3..e4f062a 100644
--- a/doc/pcre.3
+++ b/doc/pcre.3
@@ -33,7 +33,7 @@ PCRE distribution. The
\fBpcrecpp\fP
.\"
page has details of this interface. Other people's contributions can be found
-in the \fIContrib\fR directory at the primary FTP site, which is:
+in the \fIContrib\fP directory at the primary FTP site, which is:
.sp
.\" HTML <a href="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre">
.\" </a>
@@ -42,22 +42,22 @@ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre
Details of exactly which Perl regular expression features are and are not
supported by PCRE are given in separate documents. See the
.\" HREF
-\fBpcrepattern\fR
+\fBpcrepattern\fP
.\"
and
.\" HREF
-\fBpcrecompat\fR
+\fBpcrecompat\fP
.\"
pages. There is a syntax summary in the
.\" HREF
-\fBpcresyntax\fR
+\fBpcresyntax\fP
.\"
page.
.P
Some features of PCRE can be included, excluded, or changed when the library is
built. The
.\" HREF
-\fBpcre_config()\fR
+\fBpcre_config()\fP
.\"
function makes it possible for a client to discover which features are
available. The features themselves are described in the
diff --git a/doc/pcre.txt b/doc/pcre.txt
index 5d769df..081d023 100644
--- a/doc/pcre.txt
+++ b/doc/pcre.txt
@@ -2,7 +2,7 @@
This file contains a concatenation of the PCRE man pages, converted to plain
text format for ease of searching with a text editor, or for use on systems
that do not have a man page processor. The small individual files that give
-synopses of each function in the library have not been included. Neither has
+synopses of each function in the library have not been included. Neither has
the pcredemo program. There are separate text files for the pcregrep and
pcretest commands.
-----------------------------------------------------------------------------
@@ -269,8 +269,8 @@ REVISION
Last updated: 13 November 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREBUILD(3) PCREBUILD(3)
@@ -600,8 +600,8 @@ REVISION
Last updated: 29 September 2009
Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREMATCHING(3) PCREMATCHING(3)
@@ -804,8 +804,8 @@ REVISION
Last updated: 17 November 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREAPI(3) PCREAPI(3)
@@ -2877,8 +2877,8 @@ REVISION
Last updated: 21 November 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCRECALLOUT(3) PCRECALLOUT(3)
@@ -3059,8 +3059,8 @@ REVISION
Last updated: 21 November 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCRECOMPAT(3) PCRECOMPAT(3)
@@ -3215,8 +3215,8 @@ REVISION
Last updated: 31 October 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPATTERN(3) PCREPATTERN(3)
@@ -5694,8 +5694,8 @@ REVISION
Last updated: 21 November 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCRESYNTAX(3) PCRESYNTAX(3)
@@ -6064,8 +6064,8 @@ REVISION
Last updated: 21 November 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPARTIAL(3) PCREPARTIAL(3)
@@ -6484,8 +6484,8 @@ REVISION
Last updated: 07 November 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPRECOMPILE(3) PCREPRECOMPILE(3)
@@ -6512,6 +6512,7 @@ SAVING AND RE-USING PRECOMPILED PCRE PATTERNS
SAVING A COMPILED PATTERN
+
The value returned by pcre_compile() points to a single block of memory
that holds the compiled pattern and associated data. You can find the
length of this block in bytes by calling pcre_fullinfo() with an argu-
@@ -6608,8 +6609,8 @@ REVISION
Last updated: 17 November 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPERFORM(3) PCREPERFORM(3)
@@ -6776,8 +6777,8 @@ REVISION
Last updated: 16 May 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPOSIX(3) PCREPOSIX(3)
@@ -7039,8 +7040,8 @@ REVISION
Last updated: 16 May 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCRECPP(3) PCRECPP(3)
@@ -7380,8 +7381,8 @@ REVISION
Last updated: 17 March 2009
------------------------------------------------------------------------------
-
-
+
+
PCRESAMPLE(3) PCRESAMPLE(3)
@@ -7616,5 +7617,5 @@ REVISION
Last updated: 03 January 2010
Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
diff --git a/doc/pcre_compile.3 b/doc/pcre_compile.3
index f0861d7..03b3a32 100644
--- a/doc/pcre_compile.3
+++ b/doc/pcre_compile.3
@@ -20,12 +20,12 @@ This function compiles a regular expression into an internal form. It is the
same as \fBpcre_compile2()\fP, except for the absence of the \fIerrorcodeptr\fP
argument. Its arguments are:
.sp
- \fIpattern\fR A zero-terminated string containing the
+ \fIpattern\fP A zero-terminated string containing the
regular expression to be compiled
- \fIoptions\fR Zero or more option bits
- \fIerrptr\fR Where to put an error message
- \fIerroffset\fR Offset in pattern where error was found
- \fItableptr\fR Pointer to character tables, or NULL to
+ \fIoptions\fP Zero or more option bits
+ \fIerrptr\fP Where to put an error message
+ \fIerroffset\fP Offset in pattern where error was found
+ \fItableptr\fP Pointer to character tables, or NULL to
use the built-in default
.sp
The option bits are:
@@ -69,10 +69,10 @@ version is not guaranteed to work and may cause crashes.
.P
There is a complete description of the PCRE native API in the
.\" HREF
-\fBpcreapi\fR
+\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
-\fBpcreposix\fR
+\fBpcreposix\fP
.\"
page.
diff --git a/doc/pcre_compile2.3 b/doc/pcre_compile2.3
index 907e8ff..f0c5c3d 100644
--- a/doc/pcre_compile2.3
+++ b/doc/pcre_compile2.3
@@ -21,15 +21,15 @@ PCRE - Perl-compatible regular expressions
This function compiles a regular expression into an internal form. It is the
same as \fBpcre_compile()\fP, except for the addition of the \fIerrorcodeptr\fP
argument. The arguments are:
-
+.
.sp
- \fIpattern\fR A zero-terminated string containing the
+ \fIpattern\fP A zero-terminated string containing the
regular expression to be compiled
- \fIoptions\fR Zero or more option bits
+ \fIoptions\fP Zero or more option bits
\fIerrorcodeptr\fP Where to put an error code
- \fIerrptr\fR Where to put an error message
- \fIerroffset\fR Offset in pattern where error was found
- \fItableptr\fR Pointer to character tables, or NULL to
+ \fIerrptr\fP Where to put an error message
+ \fIerroffset\fP Offset in pattern where error was found
+ \fItableptr\fP Pointer to character tables, or NULL to
use the built-in default
.sp
The option bits are:
@@ -73,10 +73,10 @@ version is not guaranteed to work and may cause crashes.
.P
There is a complete description of the PCRE native API in the
.\" HREF
-\fBpcreapi\fR
+\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
-\fBpcreposix\fR
+\fBpcreposix\fP
.\"
page.
diff --git a/doc/pcre_config.3 b/doc/pcre_config.3
index b111a70..d8e1658 100644
--- a/doc/pcre_config.3
+++ b/doc/pcre_config.3
@@ -16,8 +16,8 @@ This function makes it possible for a client program to find out which optional
features are available in the version of the PCRE library it is using. Its
arguments are as follows:
.sp
- \fIwhat\fR A code specifying what information is required
- \fIwhere\fR Points to where to put the data
+ \fIwhat\fP A code specifying what information is required
+ \fIwhere\fP Points to where to put the data
.sp
The available codes are:
.sp
@@ -36,7 +36,7 @@ The available codes are:
1 CR, LF, or CRLF only
PCRE_CONFIG_POSIX_MALLOC_THRESHOLD
Threshold of return slots, above
- which \fBmalloc()\fR is used by
+ which \fBmalloc()\fP is used by
the POSIX API
PCRE_CONFIG_STACKRECURSE Recursion implementation (1=stack 0=heap)
PCRE_CONFIG_UTF8 Availability of UTF-8 support (1=yes 0=no)
@@ -48,10 +48,10 @@ The function yields 0 on success or PCRE_ERROR_BADOPTION otherwise.
.P
There is a complete description of the PCRE native API in the
.\" HREF
-\fBpcreapi\fR
+\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
-\fBpcreposix\fR
+\fBpcreposix\fP
.\"
page.
diff --git a/doc/pcrecpp.3 b/doc/pcrecpp.3
index fa8c558..62f19ae 100644
--- a/doc/pcrecpp.3
+++ b/doc/pcrecpp.3
@@ -195,11 +195,11 @@ which returns true if the modifier is set, and
RE_Options & set_caseless(bool)
.sp
which sets or unsets the modifier. Moreover, PCRE_EXTRA_MATCH_LIMIT can be
-accessed through the \fBset_match_limit()\fR and \fBmatch_limit()\fR member
-functions. Setting \fImatch_limit\fR to a non-zero value will limit the
+accessed through the \fBset_match_limit()\fP and \fBmatch_limit()\fP member
+functions. Setting \fImatch_limit\fP to a non-zero value will limit the
execution of pcre to keep it from doing bad things like blowing the stack or
taking an eternity to return a result. A value of 5000 is good enough to stop
-stack blowup in a 2MB thread stack. Setting \fImatch_limit\fR to zero disables
+stack blowup in a 2MB thread stack. Setting \fImatch_limit\fP to zero disables
match limiting. Alternatively, you can call \fBmatch_limit_recursion()\fP
which uses PCRE_EXTRA_MATCH_LIMIT_RECURSION to limit how much PCRE
recurses. \fBmatch_limit()\fP limits the number of matches PCRE does;
@@ -207,7 +207,7 @@ recurses. \fBmatch_limit()\fP limits the number of matches PCRE does;
therefore the amount of stack that is used.
.P
Normally, to pass one or more modifiers to a RE class, you declare
-a \fIRE_Options\fR object, set the appropriate options, and pass this
+a \fIRE_Options\fP object, set the appropriate options, and pass this
object to a RE constructor. Example:
.sp
RE_options opt;
@@ -216,7 +216,7 @@ object to a RE constructor. Example:
.sp
RE_options has two constructors. The default constructor takes no arguments and
creates a set of flags that are off by default. The optional parameter
-\fIoption_flags\fR is to facilitate transfer of legacy code from C programs.
+\fIoption_flags\fP is to facilitate transfer of legacy code from C programs.
This lets you do
.sp
RE(pattern,
@@ -230,13 +230,13 @@ However, new code is better off doing
.sp
If you are going to pass one of the most used modifiers, there are some
convenience functions that return a RE_Options class with the
-appropriate modifier already set: \fBCASELESS()\fR, \fBUTF8()\fR,
-\fBMULTILINE()\fR, \fBDOTALL\fR(), and \fBEXTENDED()\fR.
+appropriate modifier already set: \fBCASELESS()\fP, \fBUTF8()\fP,
+\fBMULTILINE()\fP, \fBDOTALL\fP(), and \fBEXTENDED()\fP.
.P
If you need to set several options at once, and you don't want to go through
the pains of declaring a RE_Options object and setting several options, there
is a parallel method that give you such ability on the fly. You can concatenate
-several \fBset_xxxxx()\fR member functions, since each of them returns a
+several \fBset_xxxxx()\fP member functions, since each of them returns a
reference to its class object. For example, to pass PCRE_CASELESS,
PCRE_EXTENDED, and PCRE_MULTILINE to a RE with one statement, you may write:
.sp
@@ -260,7 +260,7 @@ is defined in the pcrecpp namespace.
Example: read lines of the form "var = value" from a string.
string contents = ...; // Fill string somehow
pcrecpp::StringPiece input(contents); // Wrap in a StringPiece
-
+.sp
string var;
int value;
pcrecpp::RE re("(\e\ew+) = (\e\ed+)\en");
diff --git a/doc/pcregrep.1 b/doc/pcregrep.1
index 430e54a..995ce05 100644
--- a/doc/pcregrep.1
+++ b/doc/pcregrep.1
@@ -319,7 +319,7 @@ when processing patterns that are not going to match, but which have a very
large number of possibilities in their search trees. The classic example is a
pattern that uses nested unlimited repeats. Internally, PCRE uses a function
called \fBmatch()\fP which it calls repeatedly (sometimes recursively). The
-limit set by \fb--match-limit\fP is imposed on the number of times this
+limit set by \fB--match-limit\fP is imposed on the number of times this
function is called during a match, which has the effect of limiting the amount
of backtracking that can take place.
.sp
diff --git a/doc/pcreprecompile.3 b/doc/pcreprecompile.3
index c04af24..6b878fa 100644
--- a/doc/pcreprecompile.3
+++ b/doc/pcreprecompile.3
@@ -24,7 +24,7 @@ guaranteed to work and may cause crashes.
.
.SH "SAVING A COMPILED PATTERN"
.rs
-.sh
+.sp
The value returned by \fBpcre_compile()\fP points to a single block of memory
that holds the compiled pattern and associated data. You can find the length of
this block in bytes by calling \fBpcre_fullinfo()\fP with an argument of
diff --git a/maint/README b/maint/README
index 40a0a3a..2705c01 100644
--- a/maint/README
+++ b/maint/README
@@ -35,12 +35,12 @@ MultiStage2.py A Python script that generates the file pcre_ucd.c from three
Unicode web site. Run this script in the "maint" directory.
The generated file contains the tables for a 2-stage lookup
of Unicode properties.
-
+
pcre_chartables.c.non-standard
This is a set of character tables that came from a Windows
system. It has characters greater than 128 that are set as
spaces, amongst other things. I kept it so that it can be
- used for testing from time to time.
+ used for testing from time to time.
README This file.
@@ -117,33 +117,34 @@ distribution for a new release.
. Test with valgrind by running "RunTest valgrind". There is also "RunGrepTest
valgrind", though that takes quite a long time.
-. Test with the emulated memmove() function by undefining HAVE_MEMMOVE and
- HAVE_BCOPY in config.h. You may see a number of "pcre_memmove defined but not
- used" warnings for the modules in which there is no call to memmove(). These
- can be ignored.
+. It is possible to test with the emulated memmove() function by undefining
+ HAVE_MEMMOVE and HAVE_BCOPY in config.h, though I do not do this often. You
+ may see a number of "pcre_memmove defined but not used" warnings for the
+ modules in which there is no call to memmove(). These can be ignored.
. Documentation: check AUTHORS, COPYING, ChangeLog (check version and date),
INSTALL, LICENCE, NEWS (check version and date), NON-UNIX-USE, and README.
Many of these won't need changing, but over the long term things do change.
-. Man pages: Check all man pages for \ not followed by e or f or " because
- that indicates a markup error. However, there is one exception: pcredemo.3,
- which is created from the pcredemo.c program. It contains three instances
- of \\n.
-
-. When the release is built, test it on a number of different operating
- systems if possible, and using different compilers as well. For example,
- on Solaris it is helpful to test using Sun's cc compiler as a change from
- gcc. Adding -xarch=v9 to the cc options does a 64-bit test, but it also
- needs -S 64 for pcretest to increase the stack size for test 2.
+. I used to test new releases myself on a number of different operating
+ systems, using different compilers as well. For example, on Solaris it is
+ helpful to test using Sun's cc compiler as a change from gcc. Adding
+ -xarch=v9 to the cc options does a 64-bit test, but it also needs -S 64 for
+ pcretest to increase the stack size for test 2. Since I retired I can no
+ longer do this, but instead I rely on putting out release candidates for
+ folks on the pcre-dev list to test.
Making a PCRE release
=====================
Run PrepareRelease and commit the files that it changes (by removing trailing
-spaces). Then run "make distcheck" to create the tarballs and the zipball.
-Double-check with "svn status", then create an SVN tagged copy:
+spaces). The first thing this script does is to run CheckMan on the man pages;
+if it finds any markup errors, it reports them and then aborts.
+
+Once PrepareRelease has run clean, run "make distcheck" to create the tarballs
+and the zipball. Double-check with "svn status", then create an SVN tagged
+copy:
svn copy svn://vcs.exim.org/pcre/code/trunk \
svn://vcs.exim.org/pcre/code/tags/pcre-8.xx
@@ -204,17 +205,22 @@ others are relatively new.
. Unicode
+ * There has been a request for direct support of 16-bit characters and
+ UTF-16 (Bugzilla #1049). However, since Unicode is moving beyond purely
+ 16-bit characters, is this worth it at all? One possible way of handling
+ 16-bit characters would be to "load" them in the same way that UTF-8
+ characters are loaded. Another possibility is to provide a set of
+ translation functions, and build an index during translation so that the
+ returned offsets can automatically be translated (using the index) after a
+ match.
+
* A different approach to Unicode might be to use a typedef to do everything
in unsigned shorts instead of unsigned chars. Actually, we'd have to have a
new typedef to distinguish data from bits of compiled pattern that are in
bytes, I think. There would need to be conversion functions in and out. I
don't think this is particularly trivial - and anyway, Unicode now has
- characters that need more than 16 bits, so is this at all sensible?
-
- * There has been a request for direct support of 16-bit characters and
- UTF-16. However, since Unicode is moving beyond purely 16-bit characters,
- is this worth it at all? One possible way of handling 16-bit characters
- would be to "load" them in the same way that UTF-8 characters are loaded.
+ characters that need more than 16 bits, so is this at all sensible? I
+ suspect not.
. Allow errorptr and erroroffset to be NULL. I don't like this idea.
@@ -315,4 +321,4 @@ others are relatively new.
Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
-Last updated: 24 November 2010
+Last updated: 12 January 2011