]> git.cameronkatri.com Git - mandoc.git/blob - TODO
Note missing man/roff(?) feature not documented anywhere.
[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 ************************************************************************
70 * formatting issues: ugly output
71 ************************************************************************
72
73 - outside list context, text following .Sm off
74 seems to follow without a blank (TERM_NOBLANK reset late?) e.g.
75 .Sm off
76 .Xo
77 .Op Ar bind_address No /
78 .Ar port
79 .Xc
80 .Sm on
81 or by enclosing
82 reported by jmc Tue, 13 Apr 2010 08:48:14 +0100
83
84 - do not break the line after "--", it's probably a long option
85 reminded by stsp in net/pptp pptp.8 Fri, 23 Apr 2010 20:32:39 +0200
86
87 - URGENT, this is making many kernel manuals look bad:
88 .Ft/.Fn should MAYBE behave in custom section like in SYNOPSIS?
89 autoconf.9:
90 .Sh DIRECT CONFIGURATION
91 .nr nS 1
92 .Ft "struct device *"
93 .Fn config_found_sm "struct device *parent"
94 groff:
95 DIRECT CONFIGURATION
96 struct device *
97 config_found_sm(struct device *parent, ...
98 reported by sthen Tue, 20 Apr 2010 13:42:51 +0100
99
100 - indentation got lost in SYNOPSIS, e.g.
101 SYNOPSIS
102 date [-ajnu] [-d dst] [-r seconds] [-t minutes_west] [+format]
103 - [[[[[[cc]yy]mm]dd]HH]MM[.SS]]
104 + [[[[[[cc]yy]mm]dd]HH]MM[.SS]]
105 reminded by Ludo Smissaert Mon, 10 May 2010 12:15:11 +0200
106
107 - empty phrases in .Bl column produce too few blanks
108 try e.g. .Bl -column It Ta Ta
109 reported by millert Fri, 02 Apr 2010 16:13:46 -0400
110
111 - nroff inserts a space before :, mandoc doesn't:
112 .Dl expr "/$a" Li : '.*/\e(.*\e)'
113
114 ************************************************************************
115 * formatting issues: gratuitious differences
116 ************************************************************************
117
118 - FIXED OpenBSD mdoc.c 1.52 schwarze 16.5.10
119 lines containing blank characters, and nothing else,
120 in literal context (.Bd -literal):
121 groff outputs just blank lines "\n"
122 mandoc outputs blanks to the left margin,
123 then the number of balnks minus one
124 NEEDS MERGING TO bsd.lv
125
126
127 ************************************************************************
128 * parser errors without any effect on formatting
129 ************************************************************************
130
131 - OpenBSD::PackageName(3p) has "if (block) 90:1" in the parse tree
132
133 ************************************************************************
134 * performance issues
135 ************************************************************************
136
137 Several areas can be cleaned up to make mandoc even faster. These are
138
139 - cache `Bd' display types as `Bl' types are cached (this primarily
140 improves code-size by removing the a2disp type functions)
141
142 - improve caching mechanism to handle other per-element arguments so
143 that they need not be recalculated between front- and back-ends (also
144 reduces code size and complexity)
145
146 - improve hashing mechanism for macros (quite important: performance)
147
148 - improve hashing mechanism for characters (not as important)