This file is indexed.

/usr/share/THE/match.the is in the 3.3~b4-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*
$Id: match.the,v 1.4 2007/12/13 20:44:41 mark Exp $
*/
/***********************************************************************/
/* Description: REXX macro to match pairs of keywords                  */
/* Syntax:      match                                                  */
/* Notes:       This macro will mark a line block enclosing all lines  */
/*              that are enclosed by a matching pair of keywords.      */
/*              Keywords can actually be more than 1 word, like        */
/*              'end if' but are specified as 1 word.                  */
/*              Supported keyword pairs are:                           */
/*               #if      - #endif                                     */
/*               begin    - end;                                       */
/*               do       - end                                        */
/*               if       - endif                                      */
/*               loop     - endloop                                    */
/*               \begin{  - \end{                   (added by A. Pool) */
/* Bugs:        Only keywords that START a line are considered for     */
/*              matching and each keyword must be on separate lines.   */
/***********************************************************************/
Trace o
string.1 =  '#IF #ENDIF >'
string.2 =  '#ENDIF #IF <'
string.3 =  'BEGIN END; >'
string.4 =  'END; BEGIN <'
string.5 =  'DO END >'
string.6 =  'END DO <'
string.7 =  'IF ENDIF >'
string.8 =  'ENDIF IF <'
string.9 =  'LOOP ENDLOOP >'
string.10 = 'ENDLOOP LOOP <'
string.11 = '\BEGIN{ \END{ >'                      /* added by A. Pool */
string.12 = '\END{ \BEGIN{ <'                      /* added by A. Pool */
string.13 = '<TABLE </TABLE> >'
string.14 = '</TABLE> <TABLE <'
string.15 = '<TR </TR> >'
string.16 = '</TR> <TR <'
num_string = 16

'EXTRACT /LINE/CURLINE/'/* get the focus line contents and line number */
save_current_line = line.1
newline = ''
Do i = 1 To Words(curline.3)      /* get rid of all blanks in the line */
   newline = newline||Strip(Word(curline.3,i))
End
newline = Translate(newline)            /* uppercase to match keywords */
stridx = 0
Do i = 1 To num_string                             /* find a keyword...*/
   source = Word(string.i,1)
   length = Length(source)
   If Substr(newline,1,length) = source Then
      Do
        stridx = i
        Leave
      End
End
If stridx = 0 Then                       /* if no keyword found, error */
   Do
     'EMSG Unknown match string'
     Exit
   End
'preserve'
num_source = 1
num_target = 0
source = Word(string.stridx,1)
target = Word(string.stridx,2)
direction = Word(string.stridx,3)
Do Forever                                  /* find matching keyword...*/
   If direction = '>' Then 'N'
   Else 'U'
   If rc \= 0 Then Leave
   'EXTRACT /CURLINE/'
   newline = ''
   Do i = 1 To Words(curline.3)
      newline = newline||Strip(Word(curline.3,i))
   End
   newline = Translate(newline)
   Select
     When Substr(newline,1,Length(source)) = source Then num_source = num_source + 1
     When Substr(newline,1,Length(target)) = target Then num_target = num_target + 1
     Otherwise
   End
   If num_source = num_target Then                 /* if match found...*/
      Do
        'reset block'
        'mark line'                             /*...mark a line block */
        ':'||save_current_line
        'mark line'
        'restore'
        Return
      End
End
'EMSG No matching target' target  'found for' source
':'||save_current_line
'restore'
Return