=================================================================== RCS file: /cvs/mandoc/TODO,v retrieving revision 1.207 retrieving revision 1.226 diff -u -p -r1.207 -r1.226 --- mandoc/TODO 2015/04/18 16:05:45 1.207 +++ mandoc/TODO 2017/01/26 19:32:46 1.226 @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.207 2015/04/18 16:05:45 schwarze Exp $ +* $Id: TODO,v 1.226 2017/01/26 19:32:46 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -33,15 +33,6 @@ Obviously, as the issues have not been solved yet, the are mere guesses, and some may be wrong. ************************************************************************ -* crashes -************************************************************************ - -- The abort() in bufcat(), html.c, can be triggered via buffmt_includes() - by running -Thtml -Oincludes on a file containing a long .In argument. - Fixing this will probably require reworking the whole bufcat() concept. - loc ** exist * algo * size ** imp ** - -************************************************************************ * missing features ************************************************************************ @@ -202,12 +193,35 @@ are mere guesses, and some may be wrong. uqs@ Thu, 2 Jun 2011 11:33:35 +0200 loc * exist ** algo *** size * imp ** ---- missing man features ----------------------------------------------- +--- missing tbl features ----------------------------------------------- -- -T[x]html doesn't stipulate non-collapsing spaces in literal mode +- 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 *** ---- missing tbl features ----------------------------------------------- +- 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. + 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 *** @@ -217,13 +231,13 @@ are mere guesses, and some may be wrong. 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 ----------------------------------------------- +- 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 * @@ -241,13 +255,9 @@ are mere guesses, and some may be wrong. Werner LEMBERG on groff at gnu dot org Sun, 10 Nov 2013 12:47:46 loc ** exist ** algo * size * imp * -- When makewhatis(8) encounters a FATAL parse error, - it silently treats the file as formatted, which makes no sense - at all for paths like man1/foo.1 - and which also contradicts - what the manual says at the end of the description. - The end result will be ENOENT for file names returned - by mansearch() in manpage.file. - 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 *** - makewhatis(8) for preformatted pages: parse the section number from the header line @@ -269,12 +279,14 @@ are mere guesses, and some may be wrong. - 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 ----------------------------------------------- -- write a configure check for [[:<:]] support and provide some - fallback for whatis(1) when it doesn't work; - Svyatoslav Mishyn Wed, 17 Dec 2014 11:07:10 +0200 - - is .Bk implemented correctly in modern groff? sobrado@ Tue, 19 Apr 2011 22:12:55 +0200 @@ -392,14 +404,17 @@ are mere guesses, and some may be wrong. --- HTML issues -------------------------------------------------------- --
formatting is ugly - hints are easy to find on the web, e.g. - http://stackoverflow.com/questions/1713048/ - see also matthew@ Fri, 18 Jul 2014 19:25:12 -0700 - loc * exist * algo ** size * imp *** +- .Bf at the beginning of a paragraph inserts a bogus 1ex horizontal + space, see for example random(3). Introduced in + http://mdocml.bsd.lv/cgi-bin/cvsweb/mdoc_html.c.diff?r1=1.91&r2=1.92 + reported by deraadt@ Mon, 28 Sep 2015 20:14:13 -0600 (MDT) + loc ** exist ** algo ** size * imp * - jsg on icb, Nov 3, 2014: try to guess Xr in man(7) for hyperlinking + and render them with + https://github.com/Debian/debiman/issues/15 + loc * exist * algo ** size ** imp ** - The tables used to render the three-part page headers actually force the width of the to the max-width given for . @@ -500,17 +515,21 @@ are mere guesses, and some may be wrong. loc ** exist ** algo ** size * imp ** ************************************************************************ -* portability +* warning issues ************************************************************************ -- word boundaries in regular expressions for whatis(1) - set up config tests to use [[:<:]], \<, or nothing - reminded by Peter Bray Fri, 03 Apr 2015 23:02:16 +1100 +- provide a way in mandoc(1) to warn about broken .Xr links; + probably cannot be on by default in -Tlint because it needs + to access the manpath and mandoc.db(3) after parsing. + asked for by jmc@ Fri, 4 Dec 2015 22:39:40 +0000 -************************************************************************ -* warning issues -************************************************************************ +- Report errors in -O suboption parsing. + loc * exist * algo * size * imp ** +- warn when .Sh or .Ss contain other macros + Steffen Nurpmeso, savannah.gnu.org/bugs/index.php?45034 + loc * exist * algo * size * imp ** + - check that MANDOCERR_BADTAB is thrown in the right cases, i.e. when finding a literal tab character in fill mode, and possibly change the wording of the warning message @@ -545,8 +564,6 @@ are mere guesses, and some may be wrong. to tech@mdocml, naddy@ Wed, 28 Sep 2011 11:21:46 +0200 wait! kristaps@ Sun, 02 Oct 2011 17:12:52 +0200 -- for system errors, use errno/strerror/warn/err - ************************************************************************ * documentation issues ************************************************************************ @@ -571,7 +588,6 @@ are mere guesses, and some may be wrong. ************************************************************************ - Why are we using MAP_SHARED, not MAP_PRIVATE for mmap(2)? - How does SQLITE_CONFIG_PAGECACHE actually work? Document it! from kristaps@ Sat, 09 Aug 2014 13:51:36 +0200 Several areas can be cleaned up to make mandoc even faster. These are @@ -590,14 +606,13 @@ Several areas can be cleaned up to make mandoc even fa * structural issues ************************************************************************ -- Improve -O suboption parsing. Do it in the main program such that - errors can be reported. Pay attention to distinguishing the - mandoc(1) and apropos(1) styles of both options. - loc ** exist * algo ** size ** imp *** +- POSIX says in the documentation of sysconf(3) that PATH_MAX + is allowed to be so large that it is a bad idea to use it + for sizing static buffers. So use dynamic buffers throughout. + See the file test-PATH_MAX.c for details. + Found by Aaron M. Ucko in the GNU Hurd via Bdale Garbee, + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829624 -- Use libz directly instead of forking gunzip(1). - Suggested by bapt at FreeBSD among others. - - We use the input line number at several places to distinguish same-line from different-line input. That plainly doesn't work with user-defined macros, leading to random breakage. @@ -612,11 +627,6 @@ Several areas can be cleaned up to make mandoc even fa - struct mparse refactoring Steffen Nurpmeso Thu, 04 Sep 2014 12:50:00 +0200 - -- Consider creating some views that will make the database more - readable from the sqlite3 shell. Consider using them to - abstract from the database structure, too. - suggested by espie@ Sat, 19 Apr 2014 14:52:57 +0200 ************************************************************************ * CGI issues