+- 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 tbl features -----------------------------------------------
+
+- horizontal lines in the layout still consume data cells
+ and can be mixed with actual data on the same table line
+ synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400
+ loc ** exist ** algo ** size ** imp ***
+
+- break long text into lines inside cells
+ net/lftp(1) from jirib via bentley@ Sep 13, 2016
+
+- layout l1 for a column of max text width 3 reduces the following
+ inter-column spacing for groff, but not for mandoc
+ net/lftp(1) from jirib via bentley@ Sep 13, 2016
+
+- the "w" layout option is ignored
+ synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400
+ loc * exist * algo * size * imp **
+
+- the "s" layout column specifier is used for placement of data
+ into columns, but ignored during column width calculations
+ synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400
+ loc * exist ** algo *** size * imp **
+
+- support mdoc(7) and man(7) macros inside tbl(7) code;
+ probably requires the parser reorg and letting tbl(7)
+ use roff_node such that macro sets can mix;
+ informed by bapt@ that FreeBSD needs this: 3 Jan 2015 23:32:23 +0100
+ loc *** exist ** algo *** size ** imp ***
+
+- look at the POSIX manuals in the books/man-pages-posix port,
+ they use some unsupported tbl(7) features.
+ loc * exist ** algo ** size ** imp ***
+
+- look what Joerg Schilling manual pages use
+ Thu, 19 Mar 2015 18:31:48 +0100
+
+- 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 **
+
+--- missing eqn features -----------------------------------------------
+
+- In a matrix, break the output line after each matrix line.
+ Found in the discussion at CDBUG 2015.
+ Suggested by Avi Weinstock.
+ loc * exist * algo * size * imp **
+
+- 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 **
+
+- Mark and lineup are parsed and ignored,
+ see User's Guide (Second Edition) page 5 section 15.
+ loc ** exist ** algo ** size ** imp **
+
+--- missing misc features ----------------------------------------------
+
+- italic correction (\/) in PostScript mode
+ Werner LEMBERG on groff at gnu dot org Sun, 10 Nov 2013 12:47:46
+ loc ** exist ** algo * size * imp *
+
+- change the default PAGER to more -Es and use the pager
+ even for apropos title line output; req by bapt@
+ loc * exist * algo * size * imp ***
+
+- clean up escape sequence handling, creating three classes:
+ (1) fully implemented, or parsed and ignored without loss of content
+ (2) unimplemented, potentially causing loss of content
+ or serious mangling of formatting (e.g. \n) -> ERROR
+ see textproc/mgdiff(1) for nice examples
+ (3) undefined, just output the character -> perhaps WARNING
+ loc *** exist ** algo ** size ** imp *** (parser reorg helps)
+
+- kettenis wants base roff, ms, and me Fri, 1 Jan 2010 22:13:15 +0100 (CET)
+ loc ** exist ** algo ** size *** imp *
+
+- Vsevolod Stakhov (FreeBSD) needs either a markdown output formatter
+ for mandoc -mdoc or a markdown to mdoc converter because they
+ have to maintain manuals needed both in markdown and mdoc format.
+ Look at the libsoldout (markdown -> whatever)
+ loc * exist * algo * size ** imp **
+
+--- compatibility checks -----------------------------------------------
+
+- is .Bk implemented correctly in modern groff?
+ sobrado@ Tue, 19 Apr 2011 22:12:55 +0200