=================================================================== RCS file: /cvs/mandoc/TODO,v retrieving revision 1.281 retrieving revision 1.291 diff -u -p -r1.281 -r1.291 --- mandoc/TODO 2018/12/15 19:30:25 1.281 +++ mandoc/TODO 2019/04/23 11:43:24 1.291 @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.281 2018/12/15 19:30:25 schwarze Exp $ +* $Id: TODO,v 1.291 2019/04/23 11:43:24 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -62,19 +62,27 @@ are mere guesses, and some may be wrong. 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 * +- .als only works for macros in mandoc, not for user-defined strings. + Also, the "val" field in struct roffkv would have to be replaced + with a pointer to a reference-counted wrapper, and an alias + would have to point to the same wrapper as the original. + .als to undefined does nothing; the alias is not created. + .rm'ing the original leaves the alias to point to the old value. + .de .als .de changes both, but + .de .als .rm .de only changes the new value, not the alias. + Found in groffer(1) version 1.19 + Jan Stary 20 Apr 2019 20:16:54 +0200 + loc * exist ** algo ** size ** imp * +- roff string condition comparisons fail when vars contain quotes: + .ds s ' + .if '\*s'' \&... + hard to fix because of the basic architecture (string replacement + happens before roff(7) syntax parsing) + Found in groffer(1) version 1.19 + Jan Stary 20 Apr 2019 20:16:54 +0200 + loc * exist *** algo *** size ** imp * + --- missing mdoc features ---------------------------------------------- - .Bl -column .Xo support is missing @@ -90,13 +98,6 @@ are mere guesses, and some may be wrong. 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). @@ -173,7 +174,7 @@ are mere guesses, and some may be wrong. loc *** exist ** algo *** size ** imp *** - look at the POSIX manuals in the books/man-pages-posix port, - they use some unsupported tbl(7) features. + they use some unsupported tbl(7) features, mostly macros in tbl(7). loc * exist ** algo ** size ** imp *** - look what Joerg Schilling manual pages use @@ -182,9 +183,15 @@ are mere guesses, and some may be wrong. --- 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 ** + Found in the discussion at CDBUG 2015. Suggested by Avi Weinstock. + This may not be the ideal solution after all: eqn(7) matrices + are lists of columns, so Avi's proposal would show each *column* + on its own *line*, which is likely to cause confusion. + A better solution, but much harder to implement, would be to + actually show the coordinates of column vectors on different + terminal output lines, using the clumnated output facilities + developed for .Bl -tag, .Bl -column, and also used for tbl(7). + loc * exist * algo ** size ** imp ** - The "size" keyword is parsed, but ignored by the formatter. loc * exist * algo * size * imp * @@ -210,6 +217,30 @@ are mere guesses, and some may be wrong. --- missing misc features ---------------------------------------------- +- man 3am readline + does not work because man(1) only accepts digit + one letter, + otherwise explicit -s is currently required + https://github.com/void-linux/void-packages/issues/9868 + loc * exist * algo * size * imp *** + +- man 3 readline may show readline(3m) + because in manpage_compare, "3" and "3am" compare equal + https://github.com/void-linux/void-packages/issues/9868 + probably requires putting string version of section into struct manpage + loc * exist ** algo * size * imp *** + +- restore flags for result ordering, but only for man(1), not for apropos(1) + such that man 3 syslog show syslog.3 not klogctl.3 + and such that man 3p acosl shows acosl.3p not acos.3p + https://github.com/void-linux/void-packages/issues/9868 + loc * exist ** algo * size * imp *** + +- dead .so links should be entered into the database to avoid: + man -M. lvm-config + man: outdated mandoc.db lacks lvm-config(8) entry, run makewhatis /co/void-man + https://github.com/void-linux/void-packages/issues/9868 + loc * exist ** algo * size * imp ** + - man -ks 1,8 route; kn@ Jul 13, 2018 orally - italic correction (\/) in PostScript mode @@ -341,6 +372,8 @@ are mere guesses, and some may be wrong. - a line starting with "\fB something" counts as starting with whitespace and triggers a line break; found in audio/normalize-mp3(1) + This will become easier once escape sequences are represented + by syntax tree nodes. loc ** exist * algo ** size * imp ** - formatting /usr/local/man/man1/latex2man.1 with groff and mandoc @@ -362,29 +395,6 @@ are mere guesses, and some may be wrong. --- HTML issues -------------------------------------------------------- -- wrap Sh and Ss content into
- Laura Morales 21 Apr 2018 18:10:48 +0200 - (Evaluate whether this is really useful and has no adverse - side effects before implementing; if it is possible, - it does seem cleaner.) - loc ** exist ** algo * size * imp *** - -- .IP wants vertical spacing before itself; - currently, it is formatted like .Bl -compact. - Fixing this requires getting rid of the "float" - in the CSS for .Bl-tag first. - Reminded by Pali Rohar 25 Oct 2018 10:10:35 +0200. - -- format multiple subsequent .IP as a single list - rather than opening a new list for each item - Pali Rohar 25 Nov 2018 14:34:26 +0100 - loc * exist ** algo * size * imp *** - -- format ".IP *" etc. as