% 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 18.2.8, p. III-21. % Original source in file "tokens1.TEX", starting line 1295. \wlog{L: "countl.tip" ["tokens1.TEX," l. 1295, p. III-21]}% % This file DOES belong to format "texip." \InputD{doloop.tip} \InputD{comfiles.tip} \newcount\ReturnNumberOfLinesInFile \catcode`\@ = 11 \newcount\@CharCodeNumberOfLines { \catcode`\^^M = \active % \gdef\@SetUpLineCounting{% \gdef {\global\advance\ReturnNumberOfLinesInFile by 1 }% }% } \def\NumberOfLinesInFile #1{% \begingroup \global\ReturnNumberOfLinesInFile = 0 \DoLoop{\@CharCodeNumberOfLines}{0}{1}{127}% {\catcode\@CharCodeNumberOfLines = 9 } \@SetUpLineCounting \catcode`\^^M = \active \input #1 \endgroup \ifnum\ReturnNumberOfLinesInFile = 1 \if\CompareFilesConditional{#1}{nul}% \ReturnNumberOfLinesInFile = 0 \fi \fi } \catcode`\@ = 12