************************************************************************
* Official mandoc TODO.
-* $Id: TODO,v 1.296 2019/11/09 17:09:15 schwarze Exp $
+* $Id: TODO,v 1.303 2020/06/22 18:00:30 schwarze Exp $
************************************************************************
Many issues are annotated for difficulty as follows:
Obviously, as the issues have not been solved yet, these annotations
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
************************************************************************
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
+ loc ** exist ** algo ** size ** imp *
+
--- missing mdoc features ----------------------------------------------
+- .Sh and .Ss should be parsed and partially callable, see groff_mdoc(7)
+ reed at reedmedia dot net Sat, 21 Dec 2019 17:13:07 -0600
+ loc ** exist ** algo ** size ** imp *
+
- .Bl -column .Xo support is missing
ultimate goal:
restore .Xr and .Dv to
--- 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
--- HTML issues --------------------------------------------------------
+- get rid of the last handful of style= attributes such that
+ Content-Security-Policy: can be enabled without unsafe-inline
+ suggested by bentley@ Nov 10, 2019 at 06:02:49AM -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
* 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).
* to improve in the groff_mdoc(7) macros
************************************************************************
+- 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:
allow .Dt vgafb 4 "macppc sparc64"