]> git.cameronkatri.com Git - mandoc.git/blobdiff - TODO
error message simplifications requested by deraadt@
[mandoc.git] / TODO
diff --git a/TODO b/TODO
index 677b5a8d19917be62fa650cbd686fe7486c96971..c698e6be21131197cca0a3e7cfd1969c6ac09310 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,6 @@
 ************************************************************************
 * Official mandoc TODO.
-* $Id: TODO,v 1.292 2019/04/30 18:51:57 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,8 +98,31 @@ 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)
+  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
@@ -217,23 +255,9 @@ 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 ***
-
-- 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 **
+- -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
 
@@ -303,6 +327,9 @@ are mere guesses, and some may be wrong.
   https://github.com/schmonz/ikiwiki/compare/mandoc
   Amitai Schlair  Mon, 19 May 2014 14:05:53 -0400
 
+- check compatibility with
+  https://git.sr.ht/~sircmpwn/scdoc
+
 - check features of the Slackware man.conf(5) format
   Carsten Kunze  Wed, 11 Mar 2015 17:57:24 +0100
 
@@ -389,6 +416,11 @@ are mere guesses, and some may be wrong.
 
 --- 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
@@ -401,6 +433,11 @@ are mere guesses, and some may be wrong.
   https://github.com/Debian/debiman/issues/15
   loc *  exist *  algo **  size **  imp **
 
+- space characters can end up in href= attributes, for example coming
+  from the first .Xr argument (where they make no sense, but still);
+  does this affect other characters, other source macros...?
+  Jackson Pauls  29 Aug 2017 16:56:27 +0100
+
 - The tables used to render the three-part page headers actually force
   the width of the <body> to the max-width given for <html>.
   Not yet sure how to fix that...
@@ -485,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 **
@@ -568,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).
@@ -577,6 +621,15 @@ are mere guesses, and some may be wrong.
 * 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"