]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/groff/tmac/trace.tmac
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.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 .rn de1 !!de1
14 .
15 .
16 .!!de de
17 .  do ecs
18 .  ec
19 .  do !!de \$1
20 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** de trace enter: \\$0 \\$@
21 .    el .do tm1 "\\*[!!sp]*** de trace enter \$1: \\$0 \\$@
22 .    do as !!sp " \"
23 .    do nop \\*[!!\$1]\\
24 .    do substring !!sp 1
25 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@
26 .    el .do tm1 "\\*[!!sp]*** trace exit \$1: \\$0 \\$@
27 \..
28 .
29 .  do ds !!d1 !!\$1
30 .  do ds !!d2 \$2
31 .
32 .  do ecr
33 .  do dei !!d1 !!d2
34 ..
35 .
36 .!!de de1
37 .  do ecs
38 .  ec
39 .  do !!de \$1
40 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** de1 trace enter: \\$0 \\$@
41 .    el .do tm1 "\\*[!!sp]*** de1 trace enter \$1: \\$0 \\$@
42 .    do as !!sp " \"
43 .    do nop \\*[!!\$1]\\
44 .    do substring !!sp 1
45 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@
46 .    el .do tm1 "\\*[!!sp]*** trace exit \$1: \\$0 \\$@
47 \..
48 .
49 .  do ds !!d1 !!\$1
50 .  do ds !!d2 \$2
51 .
52 .  do ecr
53 .  do dei1 !!d1 !!d2
54 ..
55 .
56 .rn am !!am
57 .rn am1 !!am1
58 .
59 .!!de am
60 .  do ecs
61 .  ec
62 .  do !!de \$1
63 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** am trace enter: \\$0 \\$@
64 .    el .do tm1 "\\*[!!sp]*** am trace enter \$1: \\$0 \\$@
65 .    do as !!sp " \"
66 .    do nop \\*[!!\$1]\\
67 .    do substring !!sp 1
68 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@
69 .    el .do tm1 "\\*[!!sp]*** trace exit \$1: \\$0 \\$@
70 \..
71 .
72 .  do ds !!a1 !!\$1
73 .  do ds !!a2 \$2
74 .
75 .  do ecr
76 .  do ami !!a1 !!a2
77 ..
78 .
79 .!!de am1
80 .  do ecs
81 .  ec
82 .  do !!de \$1
83 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** am1 trace enter: \\$0 \\$@
84 .    el .do tm1 "\\*[!!sp]*** am1 trace enter \$1: \\$0 \\$@
85 .    do as !!sp " \"
86 .    do nop \\*[!!\$1]\\
87 .    do substring !!sp 1
88 .    ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@
89 .    el .do tm1 "\\*[!!sp]*** trace exit \$1: \\$0 \\$@
90 \..
91 .
92 .  do ds !!a1 !!\$1
93 .  do ds !!a2 \$2
94 .
95 .  do ecr
96 .  do ami1 !!a1 !!a2
97 ..
98 .
99 .rn return !!return
100 .
101 .!!de1 return
102 .  substring !!sp 1
103 .  tm1 "\*[!!sp]*** return
104 .  !!return twice
105 ..
106 .
107 .ec
108 .
109 .cp \n(_C
110 .
111 .\" EOF