Blob


1 #include "a.h"
3 /*
4 * Section 6 - line length and indenting.
5 */
7 /* set line length */
8 void
9 ll(int v)
10 {
11 if(v == 0)
12 v = getnr(L(".l0"));
13 nr(L(".l0"), getnr(L(".l")));
14 nr(L(".l"), v);
15 }
16 void
17 r_ll(int argc, Rune **argv)
18 {
19 if(argc < 2)
20 ll(0);
21 else if(argv[1][0] == '+')
22 ll(getnr(L(".l"))+evalscale(argv[1]+1, 'v'));
23 else if(argv[1][0] == '-')
24 ll(getnr(L(".l"))-evalscale(argv[1]+1, 'v'));
25 else
26 ll(evalscale(argv[1], 'm'));
27 if(argc > 2)
28 warn("extra arguments to .ll");
29 }
31 void
32 in(int v)
33 {
34 nr(L(".i0"), getnr(L(".i")));
35 nr(L(".i"), v);
36 nr(L(".ti"), 0);
37 /* XXX */
38 }
39 void
40 r_in(int argc, Rune **argv)
41 {
42 br();
43 if(argc < 2)
44 in(getnr(L(".i0")));
45 else if(argv[1][0] == '+')
46 in(getnr(L(".i"))+evalscale(argv[1]+1, 'm'));
47 else if(argv[1][0] == '-')
48 in(getnr(L(".i"))-evalscale(argv[1]+1, 'm'));
49 else
50 in(evalscale(argv[1], 'm'));
51 if(argc > 3)
52 warn("extra arguments to .in");
53 }
55 void
56 ti(int v)
57 {
58 nr(L(".ti"), v);
59 }
60 void
61 r_ti(int argc, Rune **argv)
62 {
63 USED(argc);
64 br();
65 ti(evalscale(argv[1], 'm'));
66 }
68 void
69 t6init(void)
70 {
71 addreq(L("ll"), r_ll, -1);
72 addreq(L("in"), r_in, -1);
73 addreq(L("ti"), r_ti, 1);
75 nr(L(".l"), eval(L("6.5i")));
76 }