]> git.cameronkatri.com Git - mandoc.git/blobdiff - TODO
error message simplifications requested by deraadt@
[mandoc.git] / TODO
diff --git a/TODO b/TODO
index afec3bec7c170e808af0f6b1e35b22dbf27a1059..c698e6be21131197cca0a3e7cfd1969c6ac09310 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,6 @@
 ************************************************************************
 * Official mandoc TODO.
-* $Id: TODO,v 1.300 2020/01/19 16:27:43 schwarze Exp $
+* $Id: TODO,v 1.307 2020/10/26 13:30:46 schwarze Exp $
 ************************************************************************
 
 Many issues are annotated for difficulty as follows:
@@ -32,6 +32,21 @@ 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.
 
+************************************************************************
+* assertion failures
+************************************************************************
+
+- .if n .ce in the middle of .TS data
+  afl case f1/id:000103,sig:06,src:009024+009105,op:splice,rep:2 (jes@)
+  While roff_parseln() prevents .ce and similar requests in the middle
+  of a tbl, the guard is no longer effective when the .ce is wrapped
+  in a roff block, for example a conditional.  The resulting assertion
+  has never been seen in any real-world manual page.
+  This is too dangerous to fix before release because it requires
+  reorganizing the very delicate internals of roff_parseln(),
+  which risks causing more severe bugs.
+  loc * exist *** algo *** size * imp *
+
 ************************************************************************
 * missing features
 ************************************************************************
@@ -83,6 +98,25 @@ 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
+  more info from John Gardner 29 Jun 2020 19:54:04 +1000
+  loc **  exist **  algo **  size **  imp *
+
 --- missing mdoc features ----------------------------------------------
 
 - .Sh and .Ss should be parsed and partially callable, see groff_mdoc(7)
@@ -221,6 +255,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
@@ -484,6 +522,10 @@ are mere guesses, and some may be wrong.
 * warning issues
 ************************************************************************
 
+- shorten/simplify error messages for usage errors
+  To: deraadt@ 25 Oct 2020 23:37:01 +0100
+  loc **  exist *  algo *  size **  imp ***
+
 - warn about duplicate .Sh/.Ss heads
   gre(4): Rename duplicate sections 20 Apr 2018 15:27:33 +0200
   loc *  exist *  algo *  size *  imp **
@@ -567,6 +609,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).