+ loc * exist *** algo *** size * imp **
+
+- 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
+ loc * exist *** algo *** size ** imp **
+
+- .Bd -centered implies -filled, not -unfilled, which is not
+ easy to implement; it requires code similar to .ce, which
+ we don't have either.
+ Besides, groff has bug causing text right *before* .Bd -centered
+ to be centered as well.
+ loc *** exist *** algo ** size ** imp ** (parser reorg would help)
+
+- .Bd -filled should not be the same as .Bd -ragged, but align both
+ the left and right margin. In groff, it is implemented in terms
+ of .ad b, which we don't have either. Found in cksum(1).
+ loc *** exist *** algo ** size ** imp ** (parser reorg would help)
+
+- implement blank `Bl -column', such as
+ .Bl -column
+ .It foo Ta bar
+ .El
+ loc * exist *** algo *** size * imp *
+
+- explicitly disallow nested `Bl -column', which would clobber internal
+ flags defined for struct mdoc_macro
+ loc * exist * algo * size * imp **
+
+- In .Bl -column .It, the end of the line probably has to be regarded
+ as an implicit .Ta, if there could be one, see the following mildly
+ ugly code from login.conf(5):
+ .Bl -column minpasswordlen program xetcxmotd
+ .It path Ta path Ta value of Dv _PATH_DEFPATH
+ .br
+ Default search path.
+ reported by Michal Mazurek <akfaew at jasminek dot net>
+ via jmc@ Thu, 7 Apr 2011 16:00:53 +0059
+ loc * exist *** algo ** size * imp **
+
+- inside `.Bl -column' phrases, punctuation is handled like normal
+ text, e.g. `.Bl -column .It Fl x . Ta ...' should give "-x -."
+
+- inside `.Bl -column' phrases, TERMP_IGNDELIM handling by `Pf'
+ is not safe, e.g. `.Bl -column .It Pf a b .' gives "ab."
+ but should give "ab ."
+
+- check whether it is correct that `D1' uses INDENT+1;
+ does it need its own constant?
+ loc * exist ** algo ** size * imp **
+
+- 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)
+
+- support translated section names
+ e.g. x11/scrotwm scrotwm_es.1:21:2: error: NAME section must be first
+ that one uses NOMBRE because it is spanish...
+ deraadt tends to think that section-dependent macro behaviour
+ is a bad idea in the first place, so this may be irrelevant
+ loc ** exist ** algo ** size * imp **
+
+- When there is free text in the SYNOPSIS and that free text contains
+ the .Nm macro, groff somehow understands to treat the .Nm as an in-line
+ macro, while mandoc treats it as a block macro and breaks the line.
+ No idea how the logic for distinguishing in-line and block instances
+ should be, needs investigation.
+ uqs@ Thu, 2 Jun 2011 11:03:51 +0200
+ uqs@ Thu, 2 Jun 2011 11:33:35 +0200
+ loc * exist ** algo *** size * imp **
+
+--- missing man features -----------------------------------------------
+
+- -T[x]html doesn't stipulate non-collapsing spaces in literal mode
+
+--- missing tbl features -----------------------------------------------
+
+- look at the POSIX manuals in the books/man-pages-posix port,
+ they use some unsupported tbl(7) features.
+ loc * exist ** algo ** size ** imp ***
+
+- use Unicode U+2500 to U+256C for table borders
+ in tbl(7) -Tutf-8 output
+ suggested by bentley@ Tue, 14 Oct 2014 04:10:55 -0600
+ loc * exist ** algo * size * imp **
+
+- allow standalone `.' to be interpreted as an end-of-layout
+ delimiter instead of being thrown away as a no-op roff line
+ reported by Yuri Pankov, Wed 18 May 2011 11:34:59 CEST
+ loc ** exist ** algo ** size * imp **
+
+--- missing eqn features -----------------------------------------------
+
+- The "size" keyword is parsed, but ignored by the formatter.
+ loc * exist * algo * size * imp *
+
+- The spacing characters `~', `^', and tab are currently ignored,
+ see User's Guide (Second Edition) page 2 section 4.
+ loc * exist * algo ** size * imp **