Annotation of mandoc/TODO, Revision 1.17
1.1 kristaps 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:
1.17 ! schwarze 9: - we need real .ds; for example, terminfo.3 has
! 10: .ds n 5
! 11: and then later
! 12: \fBterminfo\fR(\*n)
! 13: reported orally by halex@ during c2k10
! 14:
! 15: - \*(Pu is not implemented, but used in mdoc.samples
! 16: implementing .ds would solve this as well
! 17: reminded by jmc@, last on Sun, 27 Jun 2010 15:29:18 +0100
! 18:
1.1 kristaps 19: - .Bl -column .Xo support is missing
20: ultimate goal:
21: restore .Xr and .Dv to
22: lib/libc/compat-43/sigvec.3
23: lib/libc/gen/signal.3
24: lib/libc/sys/sigaction.2
25:
26: - implement \\
27: in plain text, identical to \e
28: as a macro argument, identical to \ i.e. escaping the next character
29: We do not have macro definitions yet; if we implement them,
30: \\ must behave in a macro def like in a macro argument,
31: and when using the macro, it must expand yet again.
32:
33: - look at bsd.lv tbl(1)
34: from kristaps@ Fri, 11 Sep 2009 17:10:53 +0200
1.17 ! schwarze 35: also look at the mail from Thomas Klausner wiz at NetBSD
! 36: on Wed, 2 Jun 2010 11:01:29 +0200
1.1 kristaps 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:
1.10 kristaps 44: - implement blank `Bl -column', such as
45: .Bl -column
46: .It foo Ta bar
47: .El
1.11 kristaps 48:
49: - explicitly disallow nested `Bl -column', which would clobber internal
50: flags defined for struct mdoc_macro
1.12 kristaps 51:
52: - set a meaningful default if no `Bl' list type is assigned
1.13 kristaps 53:
54: - have a blank `It' head for `Bl -tag' not puke
1.15 kristaps 55:
56: - ignore horrendous m[] font colouring
57: reported by J.C. Roberts
1.10 kristaps 58:
1.1 kristaps 59: ************************************************************************
60: * formatting issues: ugly output
61: ************************************************************************
62:
63: - outside list context, text following .Sm off
64: seems to follow without a blank (TERM_NOBLANK reset late?) e.g.
65: .Sm off
66: .Xo
67: .Op Ar bind_address No /
68: .Ar port
69: .Xc
70: .Sm on
71: or by enclosing
72: reported by jmc Tue, 13 Apr 2010 08:48:14 +0100
73:
74: - URGENT, this is making many kernel manuals look bad:
75: .Ft/.Fn should MAYBE behave in custom section like in SYNOPSIS?
76: autoconf.9:
77: .Sh DIRECT CONFIGURATION
78: .nr nS 1
79: .Ft "struct device *"
80: .Fn config_found_sm "struct device *parent"
81: groff:
82: DIRECT CONFIGURATION
83: struct device *
84: config_found_sm(struct device *parent, ...
85: reported by sthen Tue, 20 Apr 2010 13:42:51 +0100
86:
87: - indentation got lost in SYNOPSIS, e.g.
88: SYNOPSIS
89: date [-ajnu] [-d dst] [-r seconds] [-t minutes_west] [+format]
90: - [[[[[[cc]yy]mm]dd]HH]MM[.SS]]
91: + [[[[[[cc]yy]mm]dd]HH]MM[.SS]]
92: reminded by Ludo Smissaert Mon, 10 May 2010 12:15:11 +0200
93:
94: - empty phrases in .Bl column produce too few blanks
95: try e.g. .Bl -column It Ta Ta
96: reported by millert Fri, 02 Apr 2010 16:13:46 -0400
97:
98: ************************************************************************
99: * formatting issues: gratuitious differences
100: ************************************************************************
101:
1.7 schwarze 102: - FIXED OpenBSD mdoc.c 1.52 schwarze 16.5.10
103: lines containing blank characters, and nothing else,
1.1 kristaps 104: in literal context (.Bd -literal):
105: groff outputs just blank lines "\n"
106: mandoc outputs blanks to the left margin,
107: then the number of balnks minus one
1.7 schwarze 108: NEEDS MERGING TO bsd.lv
1.1 kristaps 109:
110:
111: ************************************************************************
112: * parser errors without any effect on formatting
113: ************************************************************************
114:
115: - OpenBSD::PackageName(3p) has "if (block) 90:1" in the parse tree
116:
1.9 kristaps 117: ************************************************************************
118: * performance issues
119: ************************************************************************
120:
121: Several areas can be cleaned up to make mandoc even faster. These are
122:
123: - improve caching mechanism to handle other per-element arguments so
124: that they need not be recalculated between front- and back-ends (also
1.16 kristaps 125: reduces code size and complexity):
126: `Bl -column' pointer
127: `Bf' font type
1.9 kristaps 128:
129: - improve hashing mechanism for macros (quite important: performance)
130:
131: - improve hashing mechanism for characters (not as important)
CVSweb