jeff@voder.UUCP (Jeff Gilliam) (11/12/86)
Description:
While processing boxed tables that span page boundaries the
me macros can get into a loop. The footer macro calls the
.T# macro (defined by tbl) to draw the bottom and sides of
the table, which sweeps past the footer trap, invoking the
footer macro, which calls the .T# macro, which ...
Repeat-By:
Run the following input through 'tbl | troff -me'.
.lp
.TS H
box;
c c.
this that
=
.TH
foo T{
bar
.sp 2i
T}
ick snick
foo T{
bar
.sp 2i
T}
ick snick
foo T{
bar
.sp 2i
T}
ick snick
foo T{
bar
.sp 2i
T}
ick snick
foo T{
bar
.sp 2i
T}
.TE
Fix:
The footer macro .@f should rename itself before invoking
.T#, then return to its original name.
RCS file: RCS/tmac.e,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -r1.1 -r1.2
*** /tmp/,RCSt1004023 Tue Nov 11 18:04:29 1986
--- /tmp/,RCSt2004023 Tue Nov 11 18:04:31 1986
***************
*** 258,263 ****
--- 258,264 ----
.if \n@>1 .tm >> @f %=\\n% nl=\\n(nl ?a=\\n(?a ?b=\\n(?b ?f=\\n(?f
.if \n@>2 .nr VL \\n(.pu-\\n(nlu
.if \n@>2 .tm @f bm=\\n(bm _B=\\n(_B _b=\\n(_b .p-nl=\\n(VL
+ .rn @f f@
.ec
.if \\n(?T \
\{\
***************
*** 267,272 ****
--- 268,274 ----
.\}
.ev 2
.ce 0
+ .rn f@ @f
.if \\n(?b \
\{\
. nr ?b 0
--
Jeff Gilliam {ucbvax,pyramid,nsc}!voder!jeff