diff options
Diffstat (limited to 'contrib/groff/tmac/trace.tmac')
-rw-r--r-- | contrib/groff/tmac/trace.tmac | 54 |
1 files changed, 43 insertions, 11 deletions
diff --git a/contrib/groff/tmac/trace.tmac b/contrib/groff/tmac/trace.tmac index 143f95400d1d..c341b7621483 100644 --- a/contrib/groff/tmac/trace.tmac +++ b/contrib/groff/tmac/trace.tmac @@ -2,28 +2,60 @@ .\" .\" Load this before a macro package that you want to trace. . +.nr _C \n(.C +.cp 0 +. +.do ds !!sp " \" +. .eo . .rn de !!de . +. .!!de de -. ecs +. do ecs . ec -. !!de \$1 -. ie "\$1"\\$0" .tm *** trace enter: \\$0 \\$@ -. el .tm *** trace enter \$1: \\$0 \\$@ -. nop \\*[!!\$1]\\ -. ie "\$1"\\$0" .tm *** trace exit: \\$0 \\$@ -. el .tm *** trace exit \$1: \\$0 \\$@ +. do !!de \$1 +. ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** de trace enter: \\$0 \\$@ +. el .do tm1 "\*[!!sp]*** trace enter \$1: \\$0 \\$@ +. do as !!sp " \" +. do nop \\*[!!\$1]\\ +. do substring !!sp 1 +. ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@ +. el .do tm1 "\*[!!sp]*** trace exit \$1: \\$0 \\$@ \.. . -. ds !!d1 !!\$1 -. ds !!d2 \$2 +. do ds !!d1 !!\$1 +. do ds !!d2 \$2 . -. ecr -. dei !!d1 !!d2 +. do ecr +. do dei !!d1 !!d2 +.. +. +.rn am !!am +. +.!!am am +. do ecs +. ec +. do !!am \$1 +. ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** am trace enter: \\$0 \\$@ +. el .do tm1 "\*[!!sp]*** am trace enter \$1: \\$0 \\$@ +. as !!sp " \" +. do nop \\*[!!\$1]\\ +. substring !!sp 1 +. ie "\$1"\\$0" .do tm1 "\\*[!!sp]*** trace exit: \\$0 \\$@ +. el .do tm1 "\*[!!sp]*** trace exit \$1: \\$0 \\$@ +\.. +. +. do ds !!a1 !!\$1 +. do ds !!a2 \$2 +. +. do ecr +. do ami !!a1 !!a2 .. . .ec . +.cp \n(_C +. .\" EOF |