BSD 4_1c_2 release
[unix-history] / usr / lib / me / src / float.me
index 0dbade2..1fafcea 100644 (file)
@@ -1,23 +1,33 @@
 .nr _0 \n(c.
 .nr _0 \n(c.
+.\"    @(#)float.me    2.2     2/26/81
+.\"    %beginstrip%
 .de (z                 \" *** begin floating keep
 .de (z                 \" *** begin floating keep
+.if \n@>4 .tm >> (z, .z=\n(.z
 .@D 4 \\$1 \\$2
 .@(
 .nr ?T 0
 ..
 .de )z                 \" *** end floating keep
 .@D 4 \\$1 \\$2
 .@(
 .nr ?T 0
 ..
 .de )z                 \" *** end floating keep
+.if \n@>4 .tm >> )z, .z=\n(.z
 .sp \\n(zsu
 .@)
 .sp \\n(zsu
 .@)
+.if \n@>4 .tm -- )z << @), .z=\n(.z
 .rr _0
 .if !\\n(?b \
 .      nr dn +(\\n(ppu*\\n($ru)/2u+\\n(zsu
 .rr _0
 .if !\\n(?b \
 .      nr dn +(\\n(ppu*\\n($ru)/2u+\\n(zsu
-.ie ((\\n(dn+\n(.V)>=\\n(.t):(\\n(?a) \
+.nr dl -\n(.H                  \" fudge factor necessary to make it work
+.ie ((\\n(dn+\n(.V)>=\\n(.t):(\\n(?a):((\\n(dl>\\n($l)&(\\n($c>1)) \
 \{\
 .      nr ?a 1
 \{\
 .      nr ?a 1
+.      if (\\n(dl>\\n($l)&(\\n($m>1) \
+.              nr ?w 1         \" mark wider than one column (top)
 .      ds |x |t
 .\}
 .el \
 \{\
 .      nr ?b 1
 .      ds |x |t
 .\}
 .el \
 \{\
 .      nr ?b 1
+.      if (\\n(dl>\\n($l)&(\\n($m>1) \
+.              nr ?W 1         \" mark wider than one column (bottom)
 .      nr _b +\\n(dnu
 .      ch @f -\\n(_bu
 .      ds |x |b
 .      nr _b +\\n(dnu
 .      ch @f -\\n(_bu
 .      ds |x |b
 .nf
 .ls 1
 .nr ?k 1
 .nf
 .ls 1
 .nr ?k 1
+.if \n@>4 .tm -- )z >> \\*(|x
 \!.if \\\\n(nl>(\\\\n(tm+2v) .ne \\n(dnu-\\n(zsu
 \!.if \\\\n(nl>(\\\\n(tm+2v) .ne \\n(dnu-\\n(zsu
-.eo
-.cc @
-@|k                            \" and the body
-@cc
+.|k\"                          \" and the body
 .ec
 .ec
+.if \n@>4 .tm -- )z << \\*(|x, .z=\\n(.z
 .nr ?k 0
 .nr ?k 0
-.rm |k                         \" remove the temp macro
+.rm |k\"                       \" remove the temp macro
 .da
 .in 0
 .ls 1
 .xl \\n($lu
 .ev
 .da
 .in 0
 .ls 1
 .xl \\n($lu
 .ev
+.if \n@>4 .tm << )z, .z=\\n(.z
 ..
 .de @k                 \" --- output floating keep
 ..
 .de @k                 \" --- output floating keep
+.if \n@>4 .tm >> @k, $1=\\$1, .z=\\n(.z
 .ev 1
 .nf
 .ls 1
 .ev 1
 .nf
 .ls 1