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