diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2011-01-11 16:49:55 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2011-01-11 16:49:55 +0000 |
commit | 85b2727ef6978843ae52322311400d63b45bb746 (patch) | |
tree | f37020e09b7fbb3fc0dbe865e51363c72fcc682f /CheckMan | |
parent | 13b67a95be369b706f2b986b4ac5e3b04400f81c (diff) | |
download | pcre-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
Diffstat (limited to 'CheckMan')
-rwxr-xr-x | CheckMan | 67 |
1 files changed, 67 insertions, 0 deletions
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 |