mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-23 12:52:29 +08:00
97be837ff5
This performs *most* of the pcreectomy ofb418e36f22
. It removes the tests and docs and all the large files, but it does *not* touch any of the files except for making Find_Package quiet (783a895b11
) or remove the AUTHORS and similar files as they are very small. This seems much easier, cleaner, nicer and has 90% of the effect of the old - the size now is 2.7MB instead of 2.1MB, down from 10MB. Fixes #7599
79 lines
1.7 KiB
Perl
Executable File
Vendored
79 lines
1.7 KiB
Perl
Executable File
Vendored
#! /usr/bin/perl
|
|
|
|
# A script to scan PCRE2'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>)
|
|
{
|
|
$count = 0;
|
|
$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*$|
|
|
^\.SM\s*$|
|
|
^\.br\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;
|
|
}
|
|
}
|
|
elsif (/\\[^ef]|\\f[^IBP]/)
|
|
{
|
|
printf "Bad backslash in line $line of $file\n";
|
|
$yield = 1;
|
|
}
|
|
while (/\\f[BI]/g)
|
|
{
|
|
$count++;
|
|
}
|
|
while (/\\fP/g)
|
|
{
|
|
$count--;
|
|
}
|
|
if ($count != 0)
|
|
{
|
|
printf "Mismatching formatting in line $line of $file\n";
|
|
$yield = 1;
|
|
}
|
|
}
|
|
|
|
close(IN);
|
|
}
|
|
|
|
exit $yield;
|
|
# End
|