Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / groff / tmac / trace.tmac
1 .\" trace.tmac
2 .\"
3 .\" Load this before a macro package that you want to trace.
4 .
5 .nr _C \n(.C
6 .cp 0
7 .
8 .do ds !!sp " \"
9 .
10 .eo
11 .
12 .rn de !!de
13 .
14 .
15 .!!de de
16 .  do ecs
17 .  ec
18 .  do !!de \$1
19 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** de trace enter: \\$0 \\$@
20 .    el .do tm1 "\*[!!sp]*** trace enter \$1: \\$0 \\$@
21 .    do as !!sp " \"
22 .    do nop \\*[!!\$1]\\
23 .    do substring !!sp 1
24 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@
25 .    el .do tm1 "\*[!!sp]*** trace exit \$1: \\$0 \\$@
26 \..
27 .
28 .  do ds !!d1 !!\$1
29 .  do ds !!d2 \$2
30 .
31 .  do ecr
32 .  do dei !!d1 !!d2
33 ..
34 .
35 .rn am !!am
36 .
37 .!!am am
38 .  do ecs
39 .  ec
40 .  do !!am \$1
41 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** am trace enter: \\$0 \\$@
42 .    el .do tm1 "\*[!!sp]*** am trace enter \$1: \\$0 \\$@
43 .    as !!sp " \"
44 .    do nop \\*[!!\$1]\\
45 .    substring !!sp 1
46 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@
47 .    el .do tm1 "\*[!!sp]*** trace exit \$1: \\$0 \\$@
48 \..
49 .
50 .  do ds !!a1 !!\$1
51 .  do ds !!a2 \$2
52 .
53 .  do ecr
54 .  do ami !!a1 !!a2
55 ..
56 .
57 .ec
58 .
59 .cp \n(_C
60 .
61 .\" EOF