Blob


1 #include "a.h"
3 /*
4 * Section 3 - page control (mostly irrelevant).
5 */
7 /* page offset */
8 void
9 po(int o)
10 {
11 nr(L(".o0"), getnr(L(".o")));
12 nr(L(".o"), o);
13 }
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 }
30 /* .ne - need vertical space */
31 /* .mk - mark current vertical place */
32 /* .rt - return upward */
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")));
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 }