diff options
author | rsc <devnull@localhost> | 2006-02-21 18:37:05 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2006-02-21 18:37:05 +0000 |
commit | c42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4 (patch) | |
tree | 400f263e56681842ba1e6e1fdd8be453856474ef /src/cmd/htmlroff/t20.c | |
parent | 49a1496cbbb871bc623cfd0925566628e246c9ba (diff) | |
download | plan9port-c42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4.tar.gz plan9port-c42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4.tar.bz2 plan9port-c42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4.zip |
add
Diffstat (limited to 'src/cmd/htmlroff/t20.c')
-rw-r--r-- | src/cmd/htmlroff/t20.c | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/cmd/htmlroff/t20.c b/src/cmd/htmlroff/t20.c new file mode 100644 index 00000000..62ea914f --- /dev/null +++ b/src/cmd/htmlroff/t20.c @@ -0,0 +1,79 @@ +#include "a.h" + +/* + * 20. Miscellaneous + */ + +/* .mc - margin character */ +/* .ig - ignore; treated like a macro in t7.c */ + +/* .pm - print macros and strings */ + +void +r_pm(int argc, Rune **argv) +{ + int i; + + if(argc == 1){ + printds(0); + return; + } + if(runestrcmp(argv[1], L("t")) == 0){ + printds(1); + return; + } + for(i=1; i<argc; i++) + fprint(2, "%S: %S\n", argv[i], getds(argv[i])); +} + +void +r_tm(Rune *name) +{ + Rune *line; + + USED(name); + + line = readline(CopyMode); + fprint(2, "%S\n", line); + free(line); +} + +void +r_ab(Rune *name) +{ + USED(name); + + r_tm(L("ab")); + exits(".ab"); +} + +void +r_lf(int argc, Rune **argv) +{ + if(argc == 1) + return; + if(argc == 2) + setlinenumber(nil, eval(argv[1])); + if(argc == 3) + setlinenumber(argv[2], eval(argv[1])); +} + +void +r_fl(int argc, Rune **argv) +{ + USED(argc); + USED(argv); + Bflush(&bout); +} + +void +t20init(void) +{ + addreq(L("mc"), r_warn, -1); + addraw(L("tm"), r_tm); + addraw(L("ab"), r_ab); + addreq(L("lf"), r_lf, -1); + addreq(L("pm"), r_pm, -1); + addreq(L("fl"), r_fl, 0); +} + |