Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 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
}
77