=================================================================== RCS file: /cvs/mandoc/TODO,v retrieving revision 1.199 retrieving revision 1.213 diff -u -p -r1.199 -r1.213 --- mandoc/TODO 2015/02/12 13:54:50 1.199 +++ mandoc/TODO 2015/08/29 15:10:28 1.213 @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.199 2015/02/12 13:54:50 schwarze Exp $ +* $Id: TODO,v 1.213 2015/08/29 15:10:28 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -66,11 +66,13 @@ are mere guesses, and some may be wrong. loc * exist * algo * size * imp ** - .ns (no-space mode) occurs in xine-config(1) + when implementing this, also let .TH set it reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500 loc *** exist *** algo *** size ** imp * -- .ta (tab settings) occurs in ircbug(1) and probably gnats(1) - reported by brad@ Sat, 15 Jan 2011 15:50:51 -0500 +- .ta (tab settings) + #1 most important issue naddy@ Mon, 16 Feb 2015 20:59:17 +0100 + ircbug(1) gnats(1) reported by brad@ Sat, 15 Jan 2011 15:50:51 -0500 also Tcl_NewStringObj(3) via wiz@ Wed, 5 Mar 2014 22:27:43 +0100 also posix2time(3) Carsten Kunze Mon, 1 Dec 2014 13:03:10 +0100 loc ** exist *** algo ** size ** imp *** @@ -85,20 +87,38 @@ are mere guesses, and some may be wrong. loc * exist ** algo ** size ** imp ** - \h horizontal move - found in cclive(1) and nasm(1) asciidoc/DocBook output + #2 most important issue naddy@ Mon, 16 Feb 2015 20:59:17 +0100 + found in cclive(1) nasm(1) bogofilter(1) asciidoc/DocBook output bentley@ on discuss@ Sat, 21 Sep 2013 22:29:34 -0600 naddy@ Thu, 4 Dec 2014 16:26:41 +0100 - loc ** exist ** algo ** size * imp ** (parser reorg helps a lot) + loc ** exist ** algo ** size * imp *** (parser reorg helps a lot) - \n+ and \n- numerical register increment and decrement found by bentley@ in sbcl(1) Mon, 9 Dec 2013 18:36:57 -0700 loc * exist * algo * size * imp ** +- \n(.$ macro argument count number register; ocserv(8) by autogen + found by sthen@ Thu, 19 Feb 2015 22:03:01 +0000 + loc * exist ** algo * size * imp ** + - \w'' improve width measurements would not be very useful without an expression parser, see below needed for Tcl_NewStringObj(3) via wiz@ Wed, 5 Mar 2014 22:27:43 +0100 loc ** exist *** algo *** size * imp *** +- \\ in high-level macro arguments + Currently, \\ is expanded in two situations: + 1) macro and string definition (roff.c setstrn()) + 2) macro argument parsing (mandoc.c mandoc_getarg()) + For user defined macros, the second happens in time because of ROFF_REPARSE. + But for standard high-level macros, it only happens after entering the + high level parsers, which is too late because the code doesn't get + back to roff.c roff_res() from that point. Because this requires + distinguishing requests, user-defined macros and standard macros + on the roff_res() level, it is hard to solve without the parser reorg. + Found by naddy@ in devel/cutils cobfusc(1) Mon, 16 Feb 2015 19:10:52 +0100 + loc *** exist *** algo *** size ** imp * + - using undefined strings or macros defines them to be empty wl@ Mon, 14 Nov 2011 14:37:01 +0000 loc * exist * algo * size * imp * @@ -188,6 +208,26 @@ are mere guesses, and some may be wrong. --- 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 *** + +- 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 *** @@ -197,13 +237,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 * @@ -221,13 +261,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 @@ -249,12 +285,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 @@ -287,6 +325,9 @@ are mere guesses, and some may be wrong. http://swtch.com/plan9port/man/man7/man.html "Anthony J. Bentley" 28 Dec 2010 21:58:40 -0700 +- check compatibility with COHERENT troff: + http://www.nesssoftware.com/home/mwc/source.php + - check compatibility with the man(7) formatter https://raw.githubusercontent.com/rofl0r/hardcore-utils/master/man.c @@ -388,6 +429,10 @@ are mere guesses, and some may be wrong. - consider whether can be used for Ar Dv Er Ev Fa Va. from bentley@ Wed, 13 Aug 2014 09:17:55 -0600 +- generate tags in HTML + idea from florian@ Tue, 7 Apr 2015 00:26:28 +0000 + may be possible to implement with .Lk img://something.png alt_text + - check https://github.com/trentm/mdocml ************************************************************************ @@ -460,6 +505,10 @@ are mere guesses, and some may be wrong. found while talking to Chris Bennett loc * exist * algo * size * imp * +- Sequences of multiple man(7) paragraphs (.PP, .IP) interspersed + with .ps and .nf/.fi produce execessive blank lines, see libJudy + and graphics/dcmtk. The parser reorg may help with this. + - trailing whitespace must be ignored even when followed by a font escape, see for example makes @@ -469,8 +518,31 @@ are mere guesses, and some may be wrong. loc ** exist ** algo ** size * imp ** ************************************************************************ +* portability +************************************************************************ + +- word boundaries in regular expressions for whatis(1) + set up config tests to use [[:<:]], \<, or nothing + Svyatoslav Mishyn Wed, 17 Dec 2014 11:07:10 +0200 + reminded by Peter Bray Fri, 03 Apr 2015 23:02:16 +1100 + loc * exist * algo * size * imp * + +- systems having UTF-8 but not en_US.UTF-8 + call locale(1) from ./configure, select a UTF-8-locale, + and use that for test-wchar.c and term_ascii.c + to Markus Waldeck Sat, 18 Jul 2015 01:55:37 +0200 + loc * exist * algo * size * imp * + +************************************************************************ * 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,