1 #include "a.h" 2 3 /* 4 * Section 6 - line length and indenting. 5 */ 6 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 } 30 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 } 52 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 } 64 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); 71 72 nr(L(".l"), eval(L("6.5i"))); 73 } 74 75