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 /* XXX */
37 }
38 void
39 r_in(int argc, Rune **argv)
40 {
41 if(argc < 2)
42 in(getnr(L(".i0")));
43 else if(argv[1][0] == '+')
44 in(getnr(L(".i"))+evalscale(argv[1]+1, 'm'));
45 else if(argv[1][0] == '-')
46 in(getnr(L(".i"))-evalscale(argv[1]+1, 'm'));
47 else
48 in(evalscale(argv[1], 'm'));
49 if(argc > 3)
50 warn("extra arguments to .in");
51 }
53 void
54 ti(int v)
55 {
56 nr(L(".ti"), v);
57 }
58 void
59 r_ti(int argc, Rune **argv)
60 {
61 USED(argc);
62 ti(evalscale(argv[1], 'm'));
63 }
65 void
66 t6init(void)
67 {
68 addreq(L("ll"), r_ll, -1);
69 addreq(L("in"), r_in, -1);
70 addreq(L("ti"), r_ti, 1);
72 nr(L(".l"), eval(L("6.5i")));
73 }