File: CheckMan

package info (click to toggle)
wxpython4.0 4.2.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 221,752 kB
  • sloc: cpp: 962,555; python: 230,573; ansic: 170,731; makefile: 51,756; sh: 9,342; perl: 1,564; javascript: 584; php: 326; xml: 200
file content (78 lines) | stat: -rwxr-xr-x 1,697 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#! /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