This file is indexed.

/usr/share/texmf-texlive/metapost/epsincl/epsincl.mp is in texlive-metapost 2009-15.

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
%%% addto closefrom readfrom
% made in BOP s.c., bop@bop.com.pl; public domain software
% history: 20.08.1999: ver. 0.1, pre-release
%          05.01.2000: ver. 0.2, first release

def verify_operator primary x = x if not x: expandafter gobble fi enddef;

if not verify_operator known closefrom "????????": % tricky, isn't it
% |closefrom| primitive is available in MP since ver. 0.64
 def closefrom expr eps_name =
  forever: exitif (readfrom eps_name)=EOF; endfor
 enddef;
fi

% The structure |eps_data| is presumed to be local for a given figure.
% If the same outer picture is to be included in several figures, its
% header must be examined each time anew. This is necassary if we want
% to include EPS files generated by METAPOST; otherwise we would have
% to store the information about the fonts used in EPS files being
% included. Note that the possibility of multiple reading necessitates
% using the |closefrom| operator.

def ini_eps =
% The common construction |save eps_data| must not be used,
% because of implicit reference to |ini_eps| in |use_eps|.
 numeric eps_data.used[\\];
 string eps_data.name[\\];
 pair eps_data.ll[\\], eps_data.ur[\\];
 color eps_data.col[\\];
 eps_data.num:=0; eps_data.col[eps_data.num]=(0, 1, .5);
enddef;

vardef fix_eps(expr eps_name) =
 save i_, j_, k_, l_, n_;
 i_:=0;
 forever:
  i_:=i_+1; exitif i_>eps_data.num; exitif eps_data.name[i_]=eps_name;
 endfor
 if i_<=eps_data.num: errmessage "EPS " & eps_name & " already fixed";
 else:
  forever:
   string l_; % this improves string memory handling (why?)
   l_:=readfrom eps_name; exitif l_=EOF;
   if substring (0,14) of l_="%%BoundingBox:":
     j_:=14;
     for k_=1,2,3,4:
       i_:=j_;
       forever: % scan spaces
         exitif (substring (i_,i_+1) of l_) <> " "; i_:=i_+1;
       endfor
       j_:=i_;
       forever: % scan digits
         exitif ((substring (j_,j_+1) of l_) = " ")
          or ((substring (j_,j_+1) of l_) = "");
         j_:=j_+1;
       endfor
       n_[k_]:=scantokens substring (i_,j_) of l_;
     endfor;
   elseif substring (0,7) of l_="%*Font:": special l_;
   elseif substring (0,1) of l_<>"%":
     expandafter exitif expandafter true expandafter; % avoid ``dangling'' fi
   fi
  endfor
  eps_data.num:=eps_data.num+1;
  eps_data.name[eps_data.num]:=eps_name;
  if l_=EOF:
   eps_data.used[eps_data.num]:=-1;
   message "EPS file " & eps_name & " malformed or not found.";
  else:
   eps_data.used[eps_data.num]:=0;
   eps_data.ll[eps_data.num]:=(n_1, n_2);
   eps_data.ur[eps_data.num]:=(n_3, n_4);
   eps_data.col[eps_data.num]:=eps_data.col0+1/1000eps_data.num*(1, -1,0);
  fi
  closefrom eps_name;
 fi
enddef;

vardef use_eps(expr eps_name) =
 if unknown eps_data.num: ini_eps; fi
 save currentpicture; picture currentpicture; currentpicture:=nullpicture;
 save i_; i_:=0;
 forever:
  i_:=i_+1;
  exitif i_>eps_data.num;
  exitif eps_data.name[i_]=eps_name;
 endfor
 if i_>eps_data.num: fix_eps(eps_name); fi
 % invariant: |(eps_data.name[i_]=eps_name) && known eps_data.used[i_]|
 if eps_data.used[i_]>=0: % fixing was successful
  fill unitsquare
   xscaled xpart(eps_data.ur[i_]-eps_data.ll[i_])
   yscaled ypart(eps_data.ur[i_]-eps_data.ll[i_])
   withcolor eps_data.col[i_];
  if eps_data.used[i_]=0:
   special "%EPS " 
    & decimal(redpart(eps_data.col[i_])) & " "
    & decimal(greenpart(eps_data.col[i_])) & " "
    & decimal(bluepart(eps_data.col[i_])) & " "
    & eps_name & " "
    & decimal(xpart(eps_data.ll[i_])) & " "
    & decimal(ypart(eps_data.ll[i_])) & " "
    & decimal(xpart(eps_data.ur[i_])) & " "
    & decimal(ypart(eps_data.ur[i_]));
   eps_data.used[i_]:=1;
  fi
  currentpicture
 else: % fixing failed (either missing file or bounding box not found)
  nullpicture
 fi
enddef;

extra_beginfig:=extra_beginfig & ";ini_eps;";

endinput;
%%\end