=================================================================== RCS file: /cvs/mandoc/TODO,v retrieving revision 1.298 retrieving revision 1.304 diff -u -p -r1.298 -r1.304 --- mandoc/TODO 2019/12/22 13:52:35 1.298 +++ mandoc/TODO 2020/06/24 12:09:29 1.304 @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.298 2019/12/22 13:52:35 schwarze Exp $ +* $Id: TODO,v 1.304 2020/06/24 12:09:29 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -33,14 +33,6 @@ Obviously, as the issues have not been solved yet, the are mere guesses, and some may be wrong. ************************************************************************ -* crashes -************************************************************************ - -- .ce .if n .B two crashes because "return (*roffs[t].sub)" bypasses - the "high level macros abort .ce" safeguard in roff_parseln() - reported by espie@ in textproc/fstrcmp - -************************************************************************ * missing features ************************************************************************ @@ -91,6 +83,24 @@ are mere guesses, and some may be wrong. Jan Stary 20 Apr 2019 20:16:54 +0200 loc * exist *** algo *** size ** imp * +- mandoc replaces all ASCII control characters except tab and line feed + with '?' during input. It would be better to replace them with + Unicode escapes in preconv_encode() or somewhere in the vicinity, + such that the already existing better replacement strings show + up in the output. Emulating groff is not desirable: groff replaces + 0x00, 0x0b, and 0x0d to 0x1f with the empty string (bad because + that's easy to overlook for the document author), 0x01 with '.' + (very confusing), and passes through 0x02 to 0x08, 0x0c, and 0x7f + raw (bad because that is insecure output). Remember that 0x07 may + need special handling because it is sometimes used for certain + delimiters, so it may need handling *after* roff.c rather than before. + reminded by John Gardner 16 Jun 2020 14:26:28 +1000 + Actually, more ASCII control characters than just 0x07 may need + later handling because they can for example be used in macro names. + So they may need handling after roff(7) processing. + pointed out by John Gardner 23 Jun 2020 18:28:08 +1000 + loc ** exist ** algo ** size ** imp * + --- missing mdoc features ---------------------------------------------- - .Sh and .Ss should be parsed and partially callable, see groff_mdoc(7) @@ -229,6 +239,10 @@ are mere guesses, and some may be wrong. --- missing misc features ---------------------------------------------- +- -T man does not handle eqn(7) and tbl(7) + Stephen Gregoratto 16 Feb 2020 01:28:07 +1100 + loc ** exist ** algo ** size *** imp ** + - man -ks 1,8 route; kn@ Jul 13, 2018 orally - italic correction (\/) in PostScript mode @@ -575,6 +589,9 @@ are mere guesses, and some may be wrong. * CGI issues ************************************************************************ + - Inspect httpd(8) logs on man.openbsd.org and consider + whether logging can be improved, where bad syntax comes from, + and what needs to be done to get rid of COMPAT_OLDURI. - Enable HTTP compression by detecting gzip encoding and filtering output through libz. - Privilege separation (see OpenSSH). @@ -587,6 +604,11 @@ are mere guesses, and some may be wrong. - delete OS release verification from .Dx, .Fx, .Nx, .Ox etc. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629161 also Branden Robinson 18 Dec 2019 00:59:52 +1100 + +- Can the distinction between .Vt and .Va be made stricter, + recommending .Vt extern char * Ns Va optarg ; ? + What about the block macro properties of .Vt in the SYNOPSIS? + zeurkous 25 Dec 2019 08:48:36 +0100 - .Cd # arch1, arch2 in section 4 pages: find better way to indicate multiple architectures, maybe: