Blame


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