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