Subversion Repositories planix.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "a.h"
2
 
3
/*
4
 * 20. Miscellaneous
5
 */
6
 
7
/* .mc - margin character */
8
/* .ig - ignore; treated like a macro in t7.c */
9
 
10
/* .pm - print macros and strings */
11
 
12
void
13
r_pm(int argc, Rune **argv)
14
{
15
	int i;
16
 
17
	if(argc == 1){
18
		printds(0);
19
		return;
20
	}
21
	if(runestrcmp(argv[1], L("t")) == 0){
22
		printds(1);
23
		return;
24
	}
25
	for(i=1; i<argc; i++)
26
		fprint(2, "%S: %S\n", argv[i], getds(argv[i]));
27
}
28
 
29
void
30
r_tm(Rune *name)
31
{
32
	Rune *line;
33
 
34
	USED(name);
35
 
36
	line = readline(CopyMode);
37
	fprint(2, "%S\n", line);
38
	free(line);
39
}
40
 
41
void
42
r_ab(Rune *name)
43
{
44
	USED(name);
45
 
46
	r_tm(L("ab"));
47
	exits(".ab");
48
}
49
 
50
void
51
r_lf(int argc, Rune **argv)
52
{
53
	if(argc == 1)
54
		return;
55
	if(argc == 2)
56
		setlinenumber(nil, eval(argv[1]));
57
	if(argc == 3)
58
		setlinenumber(argv[2], eval(argv[1]));
59
}
60
 
61
void
62
r_fl(int argc, Rune **argv)
63
{
64
	USED(argc);
65
	USED(argv);
66
	Bflush(&bout);
67
}
68
 
69
void
70
t20init(void)
71
{
72
	addreq(L("mc"), r_warn, -1);
73
	addraw(L("tm"), r_tm);
74
	addraw(L("ab"), r_ab);
75
	addreq(L("lf"), r_lf, -1);
76
	addreq(L("pm"), r_pm, -1);
77
	addreq(L("fl"), r_fl, 0);
78
}
79