std addresses must be 32-bit
[unix-history] / usr / src / share / me / float.me
index 8419b96..734e8ff 100644 (file)
@@ -1,16 +1,21 @@
 .nr _0 \n(c.
 .nr _0 \n(c.
-.\"    @(#)float.me    1.4     %G%
+.\"    @(#)float.me    2.2     %G%
+.\"    %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
+.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
 .ie ((\\n(dn+\n(.V)>=\\n(.t):(\\n(?a):((\\n(dl>\\n($l)&(\\n($c>1)) \
 \{\
 .      nr ?a 1
 .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