]> git.cameronkatri.com Git - mandoc.git/blob - TODO
Implement font-switching for PostScript. -Tps now supports
[mandoc.git] / TODO
1 ************************************************************************
2 * missing features
3 ************************************************************************
4
5 - .` "macro" not implemented (see gnu/usr.bin/cvs/man/cvs.1)
6 found by Anthony Bentley (anthonyjbentley@gmail.com)
7 06/01/10 23:48 on tech@openbsd
8
9 - explicit blocks with missing end macro should be implicitely closed
10 at the end of the enclosing block, e.g. .Bl It (El) Sh
11 reminded by stsp@ in net/pptp pptp.8 Fri, 23 Apr 2010 20:32:39 +0200
12
13 - .Bl -column .Xo support is missing
14 ultimate goal:
15 restore .Xr and .Dv to
16 lib/libc/compat-43/sigvec.3
17 lib/libc/gen/signal.3
18 lib/libc/sys/sigaction.2
19
20 - .Bk / .Ek is broken, e.g.
21 $ man ssh
22 [...]
23 ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D
24 [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11]
25 reminded by Ludo Smissaert Mon, 10 May 2010 12:15:11 +0200
26 also reported by jmc@ earlier
27
28 - implement \\
29 in plain text, identical to \e
30 as a macro argument, identical to \ i.e. escaping the next character
31 We do not have macro definitions yet; if we implement them,
32 \\ must behave in a macro def like in a macro argument,
33 and when using the macro, it must expand yet again.
34
35 - look at bsd.lv tbl(1)
36 from kristaps@ Fri, 11 Sep 2009 17:10:53 +0200
37
38 - look at pages generated from reStructeredText, e.g. devel/mercurial hg(1)
39 These are a weird mixture of man(7) and custom autogenerated low-level
40 roff stuff. Figure out to what extent we can cope.
41 noted by stsp@ Sat, 24 Apr 2010 09:17:55 +0200
42 reminded by nicm@ Mon, 3 May 2010 09:52:41 +0100
43
44
45 - FIXED OpenBSD term.h 1.16 term.c 1.30 mdoc_term.c 1.75 schwarze 23.4.10
46 handle tab characters outside literal context, e.g. usb(4)
47 reported by jmc@ Mon, 19 Apr 2010 07:42:12 +0100
48 NEEDS MERGING TO bsd.lv
49
50 - FIXED OpenBSD man.h 1.15 libman.h 1.16 man_hash.c 1.9
51 man.c 1.25 man_macro.c 1.15 man_validate.c 1.19 man_action.c 1.15
52 man_term.c 1.28 man_html.c 1.9 schwarze 25.4.
53 implement .if .ie .el
54 noticed by espie@ Fri, 23 Apr 2010 17:10:35 +0200
55 NEEDS MERGING TO bsd.lv
56
57 - implement blank `Bl -column', such as
58 .Bl -column
59 .It foo Ta bar
60 .El
61
62 - explicitly disallow nested `Bl -column', which would clobber internal
63 flags defined for struct mdoc_macro
64
65 - set a meaningful default if no `Bl' list type is assigned
66
67 - have a blank `It' head for `Bl -tag' not puke
68
69 - ignore horrendous m[] font colouring
70 reported by J.C. Roberts
71
72 ************************************************************************
73 * formatting issues: ugly output
74 ************************************************************************
75
76 - outside list context, text following .Sm off
77 seems to follow without a blank (TERM_NOBLANK reset late?) e.g.
78 .Sm off
79 .Xo
80 .Op Ar bind_address No /
81 .Ar port
82 .Xc
83 .Sm on
84 or by enclosing
85 reported by jmc Tue, 13 Apr 2010 08:48:14 +0100
86
87 - do not break the line after "--", it's probably a long option
88 reminded by stsp in net/pptp pptp.8 Fri, 23 Apr 2010 20:32:39 +0200
89
90 - URGENT, this is making many kernel manuals look bad:
91 .Ft/.Fn should MAYBE behave in custom section like in SYNOPSIS?
92 autoconf.9:
93 .Sh DIRECT CONFIGURATION
94 .nr nS 1
95 .Ft "struct device *"
96 .Fn config_found_sm "struct device *parent"
97 groff:
98 DIRECT CONFIGURATION
99 struct device *
100 config_found_sm(struct device *parent, ...
101 reported by sthen Tue, 20 Apr 2010 13:42:51 +0100
102
103 - indentation got lost in SYNOPSIS, e.g.
104 SYNOPSIS
105 date [-ajnu] [-d dst] [-r seconds] [-t minutes_west] [+format]
106 - [[[[[[cc]yy]mm]dd]HH]MM[.SS]]
107 + [[[[[[cc]yy]mm]dd]HH]MM[.SS]]
108 reminded by Ludo Smissaert Mon, 10 May 2010 12:15:11 +0200
109
110 - empty phrases in .Bl column produce too few blanks
111 try e.g. .Bl -column It Ta Ta
112 reported by millert Fri, 02 Apr 2010 16:13:46 -0400
113
114 - nroff inserts a space before :, mandoc doesn't:
115 .Dl expr "/$a" Li : '.*/\e(.*\e)'
116
117 ************************************************************************
118 * formatting issues: gratuitious differences
119 ************************************************************************
120
121 - FIXED OpenBSD mdoc.c 1.52 schwarze 16.5.10
122 lines containing blank characters, and nothing else,
123 in literal context (.Bd -literal):
124 groff outputs just blank lines "\n"
125 mandoc outputs blanks to the left margin,
126 then the number of balnks minus one
127 NEEDS MERGING TO bsd.lv
128
129
130 ************************************************************************
131 * parser errors without any effect on formatting
132 ************************************************************************
133
134 - OpenBSD::PackageName(3p) has "if (block) 90:1" in the parse tree
135
136 ************************************************************************
137 * performance issues
138 ************************************************************************
139
140 Several areas can be cleaned up to make mandoc even faster. These are
141
142 - cache `Bd' display types as `Bl' types are cached (this primarily
143 improves code-size by removing the a2disp type functions)
144
145 - improve caching mechanism to handle other per-element arguments so
146 that they need not be recalculated between front- and back-ends (also
147 reduces code size and complexity)
148
149 - improve hashing mechanism for macros (quite important: performance)
150
151 - improve hashing mechanism for characters (not as important)