summaryrefslogtreecommitdiff
path: root/info/examples/tip/vwrt-mac.tip
blob: 749042731711d7686e2d528a41b51ace2dec13a0 (plain)
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
% 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.3.3.1, p. III-511.
% Original source in file "io2.TEX", starting line 1192.
\wlog{L: "vwrt-mac.tip" ["io2.TEX," l. 1192, p. III-511]}%
% This file DOES belong to format "texip."
\InputD{verbwr.tip}
\InputD{defauarg.tip}
\InputD{verb-mac.tip}
\catcode`\@ = 11
\newwrite\@VStream
\newif\if@VStreamOpen
\@VStreamOpenfalse
\newcount\@VerbWriteCount
\@VerbWriteCount = 0
\def\BeginVerbWrite #1#2{%
    \global\advance\@VerbWriteCount by 1
    \wlog{\string\BeginVerbWrite: [\the\@VerbWriteCount]}%
    \DefaultArg{\@VerbWriteBaseName}{#1}{\jobname}%
    \DefaultArg{\@VerbWriteFileExt}{#2}{ver}% 
    \xdef\@VerbWriteFileName{\@VerbWriteBaseName.\@VerbWriteFileExt}%
    \if@VStreamOpen
        \errmessage{\string\BeginVerbWrite: ERROR, file still open.}%
    \fi
    \OpenVerbWrFile{\@VerbWriteBaseName}{\@VerbWriteFileExt}% 
                    {\@VStream}%
    \global\@VStreamOpentrue
    \BeginVerbWr{\@VStream}{\EndVerbWrite}%
}
\def\CloseVerbWriteFile{% 
    \if@VStreamOpen
        \CloseVerbWrFile{\@VStream}%
        \global\@VStreamOpenfalse
    \fi
}
\def\AppendVerbWrite{%
    \wlog{\string\AppendVerbWrite: [\the\@VerbWriteCount]}%
    \if@VStreamOpen
    \else
        \errmessage{\string\AppendVerbWrite: no file open.}%
    \fi
    \xdef\@VerbWriteFileName{\@VerbWriteBaseName.\@VerbWriteFileExt}%
    \BeginVerbWr{\@VStream}{\EndVerbWrite}%
}
\def\VerbAsVerb{%
    \CloseVerbWriteFile
    {%
        \CaretTabtrue
        \ListVerb{\@VerbWriteFileName}%
    }%
}
\def\VerbAsSource{%
    \CloseVerbWriteFile
    \input \@VerbWriteFileName \relax
}
\catcode`\@ = 12