summaryrefslogtreecommitdiff
path: root/info/examples/tex-in-practice/comfiles.tip
diff options
context:
space:
mode:
Diffstat (limited to 'info/examples/tex-in-practice/comfiles.tip')
-rw-r--r--info/examples/tex-in-practice/comfiles.tip76
1 files changed, 76 insertions, 0 deletions
diff --git a/info/examples/tex-in-practice/comfiles.tip b/info/examples/tex-in-practice/comfiles.tip
new file mode 100644
index 0000000000..02853596c1
--- /dev/null
+++ b/info/examples/tex-in-practice/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