summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-12-10 22:13:27 +0000
committerKarl Berry <karl@freefriends.org>2019-12-10 22:13:27 +0000
commit62b8b206c0ccdf22a38d475ab69bb327b8da0b61 (patch)
treeabc8ca26cdcf0cb3d4be9fca5c08ebc42cc65024 /Master/texmf-dist/tex/generic
parent888b283a7447bcaa50e7a6a939da99e98643d3dc (diff)
catchfile split from oberdiek (10dec19)
git-svn-id: svn://tug.org/texlive/trunk@53084 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/catchfile/catchfile.sty314
1 files changed, 314 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/catchfile/catchfile.sty b/Master/texmf-dist/tex/generic/catchfile/catchfile.sty
new file mode 100644
index 00000000000..920dee9980c
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/catchfile/catchfile.sty
@@ -0,0 +1,314 @@
+%%
+%% This is file `catchfile.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% catchfile.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Project: catchfile
+%% Version: 2019/12/09 v1.8
+%%
+%% Copyright (C)
+%% 2007, 2010, 2011 Heiko Oberdiek
+%% 2016-2019 Oberdiek Package Support Group
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%% https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/catchfile/issues
+%%
+%%
+%% The Base Interpreter refers to any `TeX-Format',
+%% because some files are installed in TDS:tex/generic//.
+%%
+%% This work consists of the main source file catchfile.dtx
+%% and the derived files
+%% catchfile.sty, catchfile.pdf, catchfile.ins, catchfile.drv,
+%% catchfile-test1.tex, catchfile-test2.tex,
+%% catchfile-test3.tex.
+%%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode35=6 % #
+ \catcode39=12 % '
+ \catcode44=12 % ,
+ \catcode45=12 % -
+ \catcode46=12 % .
+ \catcode58=12 % :
+ \catcode64=11 % @
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \expandafter\let\expandafter\x\csname ver@catchfile.sty\endcsname
+ \ifx\x\relax % plain-TeX, first loading
+ \else
+ \def\empty{}%
+ \ifx\x\empty % LaTeX, first loading,
+ % variable is initialized, but \ProvidesPackage not yet seen
+ \else
+ \expandafter\ifx\csname PackageInfo\endcsname\relax
+ \def\x#1#2{%
+ \immediate\write-1{Package #1 Info: #2.}%
+ }%
+ \else
+ \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
+ \fi
+ \x{catchfile}{The package is already loaded}%
+ \aftergroup\endinput
+ \fi
+ \fi
+\endgroup%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode35=6 % #
+ \catcode39=12 % '
+ \catcode40=12 % (
+ \catcode41=12 % )
+ \catcode44=12 % ,
+ \catcode45=12 % -
+ \catcode46=12 % .
+ \catcode47=12 % /
+ \catcode58=12 % :
+ \catcode64=11 % @
+ \catcode91=12 % [
+ \catcode93=12 % ]
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \expandafter\ifx\csname ProvidesPackage\endcsname\relax
+ \def\x#1#2#3[#4]{\endgroup
+ \immediate\write-1{Package: #3 #4}%
+ \xdef#1{#4}%
+ }%
+ \else
+ \def\x#1#2[#3]{\endgroup
+ #2[{#3}]%
+ \ifx#1\@undefined
+ \xdef#1{#3}%
+ \fi
+ \ifx#1\relax
+ \xdef#1{#3}%
+ \fi
+ }%
+ \fi
+\expandafter\x\csname ver@catchfile.sty\endcsname
+\ProvidesPackage{catchfile}%
+ [2019/12/09 v1.8 Catch the contents of a file (HO)]%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \catcode64=11 % @
+ \def\x{\endgroup
+ \expandafter\edef\csname CatchFile@AtEnd\endcsname{%
+ \endlinechar=\the\endlinechar\relax
+ \catcode13=\the\catcode13\relax
+ \catcode32=\the\catcode32\relax
+ \catcode35=\the\catcode35\relax
+ \catcode61=\the\catcode61\relax
+ \catcode64=\the\catcode64\relax
+ \catcode123=\the\catcode123\relax
+ \catcode125=\the\catcode125\relax
+ }%
+ }%
+\x\catcode61\catcode48\catcode32=10\relax%
+\catcode13=5 % ^^M
+\endlinechar=13 %
+\catcode35=6 % #
+\catcode64=11 % @
+\catcode123=1 % {
+\catcode125=2 % }
+\def\TMP@EnsureCode#1#2{%
+ \edef\CatchFile@AtEnd{%
+ \CatchFile@AtEnd
+ \catcode#1=\the\catcode#1\relax
+ }%
+ \catcode#1=#2\relax
+}
+\TMP@EnsureCode{39}{12}% '
+\TMP@EnsureCode{44}{12}% ,
+\TMP@EnsureCode{45}{12}% -
+\TMP@EnsureCode{46}{12}% .
+\TMP@EnsureCode{47}{12}% /
+\TMP@EnsureCode{91}{12}% [
+\TMP@EnsureCode{93}{12}% ]
+\TMP@EnsureCode{96}{12}% `
+\edef\CatchFile@AtEnd{\CatchFile@AtEnd\noexpand\endinput}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \input infwarerr.sty\relax
+ \input ltxcmds.sty\relax
+\else
+ \RequirePackage{infwarerr}[2007/09/09]%
+ \RequirePackage{ltxcmds}[2010/03/09]%
+\fi
+\begingroup
+ \escapechar=92\relax
+ \edef\TestString{\string\everyeof}%
+ \edef\TestMeaning{\meaning\everyeof}%
+ \ifx\TestString\TestMeaning
+ \else
+ \@PackageError{catchfile}{%
+ Cannot find e-TeX's \string\everyeof,\MessageBreak
+ package loading is aborted%
+ }\@ehd
+ \endgroup
+ \expandafter\CatchFile@AtEnd
+ \fi%
+\endgroup
+\begingroup
+ \def\Check#1#2#3#4\endgroup{%
+ \edef\TestString{\string#1}%
+ \edef\TestMeaning{\meaning#2}%
+ \ifx\TestString\TestMeaning
+ \endgroup
+ \let\CatchFile@Primitive#2%
+ \def\CatchFile@Input{\CatchFile@Primitive#3}%
+ \else
+ #4\endgroup
+ \fi
+ }%
+ \Check\input\input{}%
+ \Check\input\@@input{}%
+ \Check\pdfprimitive\pdfprimitive\input
+ \@PackageError{%
+ Cannot find primitive \string\input,\MessageBreak
+ package loading is aborted%
+ }\@ehd
+ \csname endgroup\endcsname
+ \CatchFile@AtEnd%
+\endgroup
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname IfFileExists\endcsname\relax
+ \input pdftexcmds.sty\relax
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdf@filesize\endcsname\relax
+ \def\CatchFile@CheckFileExists#1{%
+ \expandafter\ifx\csname @inputcheck\endcsname\relax
+ \csname newread\endcsname\@inputcheck
+ \fi
+ \openin\@inputcheck#1\relax
+ \expandafter\closein\expandafter\@inputcheck
+ \ifeof\@inputcheck
+ \let\CatchFile@File\relax
+ \else
+ \def\CatchFile@File{#1}%
+ \fi
+ }%
+ \else
+ \def\CatchFile@CheckFileExists#1{%
+ \expandafter\expandafter\expandafter\ifx
+ \expandafter\expandafter\expandafter\relax\pdf@filesize{#1}\relax
+ \let\CatchFile@File\relax
+ \else
+ \def\CatchFile@File{#1}%
+ \fi
+ }%
+ \fi
+\else
+ \def\CatchFile@CheckFileExists#1{%
+ \IfFileExists{#1}{%
+ \expandafter\CatchFile@DefFile\@filef@und\@nil
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname @addtofilelist\endcsname\relax
+ \else
+ \@addtofilelist\CatchFile@File
+ \fi
+ }{%
+ \let\CatchFile@File\relax
+ }%
+ }%
+ \def\CatchFile@DefFile#1 \@nil{%
+ \def\CatchFile@File{#1}%
+ }%
+\fi
+\def\CatchFile@NotFound#1#2{%
+ \def#1{}%
+ \@PackageError{catchfile}{%
+ File `#2' not found%
+ }\@ehc
+}
+\ltx@IfUndefined{RequirePackage}{%
+ \input etexcmds.sty\relax
+}{%
+ \RequirePackage{etexcmds}[2010/01/28]%
+}
+\long\def\CatchFileEdef#1#2#3{%
+ \CatchFile@CheckFileExists{#2}%
+ \ifx\CatchFile@File\relax
+ \CatchFile@NotFound{#1}{#2}%
+ \else
+ \begingroup
+ \everyeof{\noexpand}%
+ #3%
+ \xdef\CatchFile@Contents{\CatchFile@Input\CatchFile@File\space}%
+ \endgroup
+ \let#1\CatchFile@Contents
+ \fi
+}
+\long\def\CatchFileDef#1#2#3{%
+ \CatchFile@CheckFileExists{#2}%
+ \ifx\CatchFile@File\relax
+ \CatchFile@NotFound{#1}{#2}%
+ \else
+ \begingroup
+ \everyeof\expandafter{%
+ \CatchFile@EOF
+ \expandafter\CatchFile@Finish
+ \noexpand
+ }%
+ \ltx@ifundefined{etex@unexpanded}{%
+ \expandafter\long\expandafter\def\expandafter\CatchFile@Do
+ \expandafter##\expandafter1\CatchFile@EOF{%
+ \toks\ltx@zero{##1}%
+ \xdef\CatchFile@gtemp{\the\toks\ltx@zero}%
+ \def\CatchFile@Finish{%
+ \endgroup
+ \let#1\CatchFile@gtemp
+ \global\let\CatchFile@gtemp\ltx@undefined
+ }%
+ }%
+ }{%
+ \expandafter\long\expandafter\def\expandafter\CatchFile@Do
+ \expandafter##\expandafter1\CatchFile@EOF{%
+ \edef\CatchFile@Finish{%
+ \endgroup
+ \etex@unexpanded{%
+ \edef#1{\etex@unexpanded{##1}}%
+ }%
+ }%
+ }%
+ }%
+ #3\relax
+ \expandafter\expandafter\expandafter\CatchFile@Do
+ \CatchFile@Input\CatchFile@File\relax
+ \fi
+}
+\begingroup
+ \lccode65=64 % lowercase('A') = '@'
+ \lccode66=64 % lowercase('B') = '@'
+ \catcode65=8 % catcode('A') = subscript
+ \catcode66=3 % catcode('B') = math shift
+\lowercase{\endgroup
+ \def\CatchFile@EOF{AB}%
+}
+\CatchFile@AtEnd%
+%% \section{Installation}
+\endinput
+%%
+%% End of file `catchfile.sty'.