* doc/Makefile.in, doc/Makefile.sub (.ms.html): Add -P-V switch to
[s-roff.git] / tmac / trace.tmac
blob6922025571b3576b4a46d58106085767576c8a49
1 .\" trace.tmac
2 .\"
3 .\" Load this before a macro package that you want to trace.
5 .do if d !!!sp .nx
7 .nr _C \n(.C
8 .cp 0
10 .do ds !!!sp " \"
12 .eo
14 .rn nr !!nr
16 .de nr
17 .  do ecs
18 .  ec
19 .  do !!nr \$*
20 .  do tm1 "\*[!!!sp]*** .nr \$* (-> \n[\$1])
21 .  do ecr
24 .rn ds !!ds
25 .rn ds1 !!ds1
26 .rn as !!as
27 .rn as1 !!as1
29 .de ds
30 .  do ecs
31 .  ec
32 .  do tm1 "\*[!!!sp]*** .ds \$^
33 .  do !!ds \$^\"
34 .  do ecr
37 .de ds1
38 .  do ecs
39 .  ec
40 .  do tm1 "\*[!!!sp]*** .ds1 \$^
41 .  do !!ds1 \$^\"
42 .  do ecr
45 .de as
46 .  do ecs
47 .  ec
48 .  do tm1 "\*[!!!sp]*** .as \$^
49 .  do !!as \$^\"
50 .  do ecr
53 .de as1
54 .  do ecs
55 .  ec
56 .  do tm1 "\*[!!!sp]*** .as1 \$^
57 .  do !!as1 \$^\"
58 .  do ecr
61 .rn de !!de
62 .rn de1 !!de1
64 .!!de de
65 .  do ecs
66 .  ec
67 .  do !!de \$1
68 .    do ie \\n[.br] .!!ds !!!br .\"
69 .    el .do !!ds !!!br '\"
70 .    ie "\$1"\\$0" .do tm1 "\\*[!!!sp]*** de trace enter: \\*[!!!br]\\$0 \\$@
71 .    el .do tm1 "\\*[!!!sp]*** de trace enter \$1: \\*[!!!br]\\$0 \\$@
72 .    do !!as !!!sp " \"
73 .    do ie \\n[.br] .do !!\\$0 \\$@
74 .    el 'do !!\\$0 \\$@
75 .    do !!substring !!!sp 1
76 .    do ie \\n[.br] .!!ds !!!br .\"
77 .    el .do !!ds !!!br '\"
78 .    ie "\$1"\\$0" .do tm1 "\\*[!!!sp]*** trace exit: \\*[!!!br]\\$0 \\$@
79 .    el .do tm1 "\\*[!!!sp]*** trace exit \$1: \\*[!!!br]\\$0 \\$@
80 \..
82 .  do !!ds !!d1 !!\$1
83 .  do !!ds !!d2 \$2
85 .  do ecr
86 .  do dei !!d1 !!d2
89 .!!de de1
90 .  do ecs
91 .  ec
92 .  do !!de \$1
93 .    do ie \\n[.br] .!!ds !!!br .\"
94 .    el .do !!ds !!!br '\"
95 .    ie "\$1"\\$0" .do tm1 "\\*[!!!sp]*** de1 trace enter: \\*[!!!br]\\$0 \\$@
96 .    el .do tm1 "\\*[!!!sp]*** de1 trace enter \$1: \\*[!!!br]\\$0 \\$@
97 .    do !!as !!!sp " \"
98 .    do ie \\n[.br] .do !!\\$0 \\$@
99 .    el 'do !!\\$0 \\$@
100 .    do !!substring !!!sp 1
101 .    do ie \\n[.br] .!!ds !!!br .\"
102 .    el .do !!ds !!!br '\"
103 .    ie "\$1"\\$0" .do tm1 "\\*[!!!sp]*** trace exit: \\*[!!!br]\\$0 \\$@
104 .    el .do tm1 "\\*[!!!sp]*** trace exit \$1: \\*[!!!br]\\$0 \\$@
107 .  do !!ds !!d1 !!\$1
108 .  do !!ds !!d2 \$2
110 .  do ecr
111 .  do dei1 !!d1 !!d2
114 .rn am !!am
115 .rn am1 !!am1
117 .!!de am
118 .  do ecs
119 .  ec
120 .  do !!de \$1
121 .    do ie \\n[.br] .!!ds !!!br .\"
122 .    el .do !!ds !!!br '\"
123 .    ie "\$1"\\$0" .do tm1 "\\*[!!!sp]*** am trace enter: \\*[!!!br]\\$0 \\$@
124 .    el .do tm1 "\\*[!!!sp]*** am trace enter \$1: \\*[!!!br]\\$0 \\$@
125 .    do !!as !!!sp " \"
126 .    do ie \\n[.br] .do !!\\$0 \\$@
127 .    el 'do !!\\$0 \\$@
128 .    do !!substring !!!sp 1
129 .    do ie \\n[.br] .!!ds !!!br .\"
130 .    el .do !!ds !!!br '\"
131 .    ie "\$1"\\$0" .do tm1 "\\*[!!!sp]*** trace exit: \\*[!!!br]\\$0 \\$@
132 .    el .do tm1 "\\*[!!!sp]*** trace exit \$1: \\*[!!!br]\\$0 \\$@
135 .  do !!ds !!a1 !!\$1
136 .  do !!ds !!a2 \$2
138 .  do ecr
139 .  do ami !!a1 !!a2
142 .!!de am1
143 .  do ecs
144 .  ec
145 .  do !!de \$1
146 .    do ie \\n[.br] .!!ds !!!br .\"
147 .    el .do !!ds !!!br '\"
148 .    ie "\$1"\\$0" .do tm1 "\\*[!!!sp]*** am1 trace enter: \\*[!!!br]\\$0 \\$@
149 .    el .do tm1 "\\*[!!!sp]*** am1 trace enter \$1: \\*[!!!br]\\$0 \\$@
150 .    do !!as !!!sp " \"
151 .    do ie \\n[.br] .do !!\\$0 \\$@
152 .    el 'do !!\\$0 \\$@
153 .    do !!substring !!!sp 1
154 .    do ie \\n[.br] .!!ds !!!br .\"
155 .    el .do !!ds !!!br '\"
156 .    ie "\$1"\\$0" .do tm1 "\\*[!!!sp]*** trace exit: \\*[!!!br]\\$0 \\$@
157 .    el .do tm1 "\\*[!!!sp]*** trace exit \$1: \\*[!!!br]\\$0 \\$@
160 .  do !!ds !!a1 !!\$1
161 .  do !!ds !!a2 \$2
163 .  do ecr
164 .  do ami1 !!a1 !!a2
167 .rn return !!return
169 .!!de1 return
170 .  tm1 "\*[!!!sp]*** return
171 .  !!return twice
174 .rn substring !!substring
176 .!!de1 substring
177 .  do ecs
178 .  ec
179 .  !!substring \$*
180 .  tm1 "\*[!!!sp]*** .substring \$* (-> `\*[\$1]')
181 .  do ecr
184 .rn als !!als
186 .!!de1 als
187 .  !!als \$1 \$2
188 .  if d !!\$2 \
189 .    !!als !!\$1 !!\$2
190 .  tm1 "\*[!!!sp]*** .als \$1 \$2
193 .rn rn !!rn
195 .!!de1 rn
196 .  !!rn \$1 \$2
197 .  if d !!\$1 \
198 .    !!rn !!\$1 !!\$2
199 .  tm1 "\*[!!!sp]*** .rn \$1 \$2
204 .cp \n(_C
206 .\" EOF