|
|
************************************************************************
* Official mandoc TODO. May not be quite up to date.
* $Id$
************************************************************************
************************************************************************
* missing features
************************************************************************
- explicit blocks with missing end macro should be implicitely closed
at the end of the enclosing block, e.g. .Bl It (El) Sh
reminded by stsp@ in net/pptp pptp.8 Fri, 23 Apr 2010 20:32:39 +0200
- fix bad block nesting involving multiple identical explicit blocks
see the OpenBSD mdoc_macro.c 1.47 commit message
- .Bl -column .Xo support is missing
ultimate goal:
restore .Xr and .Dv to
lib/libc/compat-43/sigvec.3
lib/libc/gen/signal.3
lib/libc/sys/sigaction.2
- edge case: decide how to deal with blk_full bad nesting, e.g.
.Sh .Nm .Bk .Nm .Ek .Sh found by jmc@ in ssh-keygen(1)
from jmc@ Wed, 14 Jul 2010 18:10:32 +0100
- auto-Bk in the SYNOPSIS
patch from kristaps@ Fri, 16 Jul 2010 14:51:24 +0200
to be revisited after OpenBSD 4.8 tree unlock
- implement \\
in plain text, identical to \e
as a macro argument, identical to \ i.e. escaping the next character
We do not have macro definitions yet; if we implement them,
\\ must behave in a macro def like in a macro argument,
and when using the macro, it must expand yet again.
- implement \s (physical font size)
\sN - set to N
\s+N - increment by N, 1 <= N <= 8
\s-N - decrement by N, 1 <= N <= 8
\s0 - restore previous size
\s(nn \s+-(nn \s'+-nn' \s+-'nn' \s[+-nn] \s+-[nn] - disambiguate
registers: .s .ps .sr .psr
used by e.g. cu(1), tip(1)
- look at bsd.lv tbl(1)
from kristaps@ Fri, 11 Sep 2009 17:10:53 +0200
also look at the mail from Thomas Klausner wiz at NetBSD
on Wed, 2 Jun 2010 11:01:29 +0200
- look at pages generated from reStructeredText, e.g. devel/mercurial hg(1)
These are a weird mixture of man(7) and custom autogenerated low-level
roff stuff. Figure out to what extent we can cope.
noted by stsp@ Sat, 24 Apr 2010 09:17:55 +0200
reminded by nicm@ Mon, 3 May 2010 09:52:41 +0100
- implement blank `Bl -column', such as
.Bl -column
.It foo Ta bar
.El
- explicitly disallow nested `Bl -column', which would clobber internal
flags defined for struct mdoc_macro
- set a meaningful default if no `Bl' list type is assigned
- have a blank `It' head for `Bl -tag' not puke
- prohibit `Nm' from having non-text HEAD children
(e.g., NetBSD mDNSShared/dns-sd.1)
(mdoc_html.c and mdoc_term.c `Nm' handlers can be slightly simplified)
************************************************************************
* formatting issues: ugly output
************************************************************************
- perl(1) SYNOPSIS looks bad; reported by deraadt@
1) man(7) seems to need SYNOPSIS .Nm blocks, too
- empty phrases in .Bl column produce too few blanks
try e.g. .Bl -column It Ta Ta
reported by millert Fri, 02 Apr 2010 16:13:46 -0400
- .Pp before and after .Sh (and .Ss) produces a spurious blank line;
reported by jmc@ Thu, 15 Jul 2010 23:00:28 +0100
************************************************************************
* formatting issues: gratuitious differences
************************************************************************
- none reported right now (yet schwarze@ knows of some)
************************************************************************
* performance issues
************************************************************************
Several areas can be cleaned up to make mandoc even faster. These are
- improve hashing mechanism for macros (quite important: performance)
- improve hashing mechanism for characters (not as important)
************************************************************************
* structural issues
************************************************************************
|