diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/examples/tip/comfiles.tip |
Initial commit
Diffstat (limited to 'info/examples/tip/comfiles.tip')
-rw-r--r-- | info/examples/tip/comfiles.tip | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/info/examples/tip/comfiles.tip b/info/examples/tip/comfiles.tip new file mode 100644 index 0000000000..02853596c1 --- /dev/null +++ b/info/examples/tip/comfiles.tip @@ -0,0 +1,76 @@ +% This macro source file is from the four volume series +% "TeX in Practice" by Stephan von Bechtolsheim, published +% 1993 by Springer-Verlag, New York. +% Copyright 1993 Stephan von Bechtolsheim. +% No warranty or liability is assumed. +% This macro may be copied freely if no fees other than +% media cost or shipping charges are charged and as long +% as this copyright and the following source code itself +% is not changed. Please see the series for further information. +% +% Version: 1.0 +% Date: May 1, 1993 +% +% +% This source code is documented in 29.7.1, p. III-528. +% Original source in file "io2.TEX", starting line 1941. +\wlog{L: "comfiles.tip" ["io2.TEX," l. 1941, p. III-528]}% +% This file DOES belong to format "texip." +\InputD{compst.tip} +\InputD{verb-bas.tip} +\InputD{fexist.tip} +\InputD{endrec.tip} +\catcode`\@ = 11 +\newcount\@CompareFilesResult +\newread\@ReadCompareOne +\newread\@ReadCompareTwo +\def\CompareFilesConditional #1#2{% + TT\fi + \if\FileExistsConditional{#1}% + \else + \errmessage{\string\CompareFilesConditional: first file "#1" + does not exist.}% + \fi + \if\FileExistsConditional{#2}% + \else + \errmessage{\string\CompareFilesConditional: second file "#2" + does not exist.}% + \fi + \global\@CompareFilesResult = 0 + \begingroup + \MkOthers + \openin\@ReadCompareOne = #1 + \openin\@ReadCompareTwo = #2 + \@CompareFiles +} + +\def\@CompareFiles{% + \read\@ReadCompareOne to \@CompareOneString + \read\@ReadCompareTwo to \@CompareTwoString + \ifeof\@ReadCompareOne + \ifeof\@ReadCompareOne + \global\@CompareFilesResult = 1 + \else + \global\@CompareFilesResult = 2 + \fi + \else + \ifeof\@ReadCompareOne + \global\@CompareFilesResult = 2 + \else + \ifx\@CompareOneString\@CompareTwoString + \else + \global\@CompareFilesResult = 2 + \fi + \fi + \fi + \RecursionMacroEnd + {\ifnum \@CompareFilesResult = 0\relax}% + {\@CompareFiles}{\@EndCompareFiles}% +} +\def\@EndCompareFiles{% + \endgroup + \closein\@ReadCompareOne + \closein\@ReadCompareTwo + \ifnum\@CompareFilesResult = 1 +} +\catcode`\@ = 12 |