]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/htmlroff/t20.c
fix ref822 again: remove uniqarray(), fix case with many entries in 'n'.
[plan9front.git] / sys / src / cmd / htmlroff / t20.c
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