t3.c (849B)
1 #include "a.h" 2 3 /* 4 * Section 3 - page control (mostly irrelevant). 5 */ 6 7 /* page offset */ 8 void 9 po(int o) 10 { 11 nr(L(".o0"), getnr(L(".o"))); 12 nr(L(".o"), o); 13 } 14 15 void 16 r_po(int argc, Rune **argv) 17 { 18 if(argc == 1){ 19 po(getnr(L(".o0"))); 20 return; 21 } 22 if(argv[1][0] == '+') 23 po(getnr(L(".o"))+evalscale(argv[1]+1, 'v')); 24 else if(argv[1][0] == '-') 25 po(getnr(L(".o"))-evalscale(argv[1]+1, 'v')); 26 else 27 po(evalscale(argv[1], 'v')); 28 } 29 30 /* .ne - need vertical space */ 31 /* .mk - mark current vertical place */ 32 /* .rt - return upward */ 33 34 void 35 t3init(void) 36 { 37 nr(L(".o"), eval(L("1i"))); 38 nr(L(".o0"), eval(L("1i"))); 39 nr(L(".p"), eval(L("11i"))); 40 41 addreq(L("pl"), r_warn, -1); 42 addreq(L("bp"), r_nop, -1); 43 addreq(L("pn"), r_warn, -1); 44 addreq(L("po"), r_po, -1); 45 addreq(L("ne"), r_nop, -1); 46 addreq(L("mk"), r_nop, -1); 47 addreq(L("rt"), r_warn, -1); 48 }