t6.c (1165B)
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 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 } 54 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 } 67 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); 74 75 nr(L(".l"), eval(L("6.5i"))); 76 }