This file is indexed.

/usr/share/texlive/texmf-dist/tex/plain/js-misc/sperr.tex is in texlive-plain-extra 2014.20141024-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
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
% $Id: sperr.tex,v 1.2 1995/04/16 23:27:04 schrod Exp $
%---------------------------------------------------------
% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>.
% This file is distributed without any copyright restriction.


%
% Makro-Datei zum Sperren von Zeichenfolgen.
%
% Bitte sperrt damit keine Gemeinen.
%
%                                Joachim Schrod
%

%
% Benutzung: \sperr{TEXT}{KERNING}
%     Wenn in TEXT mehrere Token als eines behandelt werden sollen
%     (z.B. Umlaute), m\"ussen diese Tokens geklammert werden.
%


\ifx \CatEscape\undefined
    \chardef\CatEscape=0
    \chardef\CatOpen=1
    \chardef\CatClose=2
    \chardef\CatIgnore=9
    \chardef\CatLetter=11
    \chardef\CatOther=12
    \chardef\CatActive=13               % \active of plain.tex
    \chardef\CatInvalid=15

    \chardef\CatAtCode=\catcode`\@
    \chardef\CatUsCode=\catcode`\_
\fi

\catcode`\@=\CatLetter                  % top level macro file
\catcode`\_=\CatLetter

\begingroup
    \catcode`\$=\CatIgnore
    \catcode`\:=\CatIgnore
    \message{Text sperren, $Revision: 1.2 $}
\endgroup


\let\end_list=\relax
\edef\empty_list{\end_list}

\def\split#1#2\end_list{%
   \edef\sec_char{#1}%
   \toks@={#2\end_list}%
   }

\def\do_split{%
   \expandafter \split \the\toks@ \end_list
   }

\def\next_char{%
   \edef\first_char{\sec_char}%
   \do_split
   }



\newdimen\sperr_width

\def\sperr#1#2{%        % Text, Sperrbreite
   \toks@={#1\end_list}%
   \sperr_width=#2\relax
   \do_split
   \next_char           % initialize pipeline
   \ifx \sec_char\empty_list  #1%     % nur 1 Zeichen
   \else  \do_sperr
   \fi
   }


\newif \if@loop

\def\do_sperr{%
   \loop
      \set_char         % Zeichen und nachfolgendes Kerning setzen
      \next_char
      \ifx \sec_char\empty_list
         \first_char
         \@loopfalse
      \else  \@looptrue
      \fi
      \if@loop
   \repeat
   }




\newbox\kern_box
\newdimen\kern_width

\def\set_char{%
   \setbox\kern_box=\hbox{\first_char\sec_char}%
   \kern_width=\wd\kern_box
   \setbox\kern_box=\hbox{\hbox{\first_char}\hbox{\sec_char}}%
   \advance \kern_width by -\wd\kern_box
   \advance \kern_width by \sperr_width
   \first_char \kern\kern_width
   }




\catcode`\@=\CatAtCode
\catcode`\_=\CatUsCode



\endinput