aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/htmlroff/t6.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2006-02-21 18:37:05 +0000
committerrsc <devnull@localhost>2006-02-21 18:37:05 +0000
commitc42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4 (patch)
tree400f263e56681842ba1e6e1fdd8be453856474ef /src/cmd/htmlroff/t6.c
parent49a1496cbbb871bc623cfd0925566628e246c9ba (diff)
downloadplan9port-c42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4.tar.gz
plan9port-c42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4.tar.bz2
plan9port-c42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4.zip
add
Diffstat (limited to 'src/cmd/htmlroff/t6.c')
-rw-r--r--src/cmd/htmlroff/t6.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/cmd/htmlroff/t6.c b/src/cmd/htmlroff/t6.c
new file mode 100644
index 00000000..88a06954
--- /dev/null
+++ b/src/cmd/htmlroff/t6.c
@@ -0,0 +1,74 @@
+#include "a.h"
+
+/*
+ * Section 6 - line length and indenting.
+ */
+
+/* set line length */
+void
+ll(int v)
+{
+ if(v == 0)
+ v = getnr(L(".l0"));
+ nr(L(".l0"), getnr(L(".l")));
+ nr(L(".l"), v);
+}
+void
+r_ll(int argc, Rune **argv)
+{
+ if(argc < 2)
+ ll(0);
+ else if(argv[1][0] == '+')
+ ll(getnr(L(".l"))+evalscale(argv[1]+1, 'v'));
+ else if(argv[1][0] == '-')
+ ll(getnr(L(".l"))-evalscale(argv[1]+1, 'v'));
+ else
+ ll(evalscale(argv[1], 'm'));
+ if(argc > 2)
+ warn("extra arguments to .ll");
+}
+
+void
+in(int v)
+{
+ nr(L(".i0"), getnr(L(".i")));
+ nr(L(".i"), v);
+ /* XXX */
+}
+void
+r_in(int argc, Rune **argv)
+{
+ if(argc < 2)
+ in(getnr(L(".i0")));
+ else if(argv[1][0] == '+')
+ in(getnr(L(".i"))+evalscale(argv[1]+1, 'm'));
+ else if(argv[1][0] == '-')
+ in(getnr(L(".i"))-evalscale(argv[1]+1, 'm'));
+ else
+ in(evalscale(argv[1], 'm'));
+ if(argc > 3)
+ warn("extra arguments to .in");
+}
+
+void
+ti(int v)
+{
+ nr(L(".ti"), v);
+}
+void
+r_ti(int argc, Rune **argv)
+{
+ USED(argc);
+ ti(evalscale(argv[1], 'm'));
+}
+
+void
+t6init(void)
+{
+ addreq(L("ll"), r_ll, -1);
+ addreq(L("in"), r_in, -1);
+ addreq(L("ti"), r_ti, 1);
+
+ nr(L(".l"), eval(L("6.5i")));
+}
+