]> git.cameronkatri.com Git - mandoc.git/blobdiff - TODO
Simplify maintainer targets in OpenBSD: EQN and TBL variables
[mandoc.git] / TODO
diff --git a/TODO b/TODO
index 1d09e08f34018642a1b9c9821469730a4ac21adc..277e0599454b3811f5b52043e12e138ac3a0905a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,6 @@
 ************************************************************************
 * Official mandoc TODO.
 ************************************************************************
 * Official mandoc TODO.
-* $Id: TODO,v 1.286 2019/03/02 16:30:53 schwarze Exp $
+* $Id: TODO,v 1.299 2019/12/25 13:20:33 schwarze Exp $
 ************************************************************************
 
 Many issues are annotated for difficulty as follows:
 ************************************************************************
 
 Many issues are annotated for difficulty as follows:
@@ -32,6 +32,14 @@ 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.
 
 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
 ************************************************************************
 ************************************************************************
 * missing features
 ************************************************************************
@@ -62,8 +70,33 @@ 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 ***
 
   needed for Tcl_NewStringObj(3) via wiz@  Wed, 5 Mar 2014 22:27:43 +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 ----------------------------------------------
 
 --- 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
 - .Bl -column .Xo support is missing
   ultimate goal:
   restore .Xr and .Dv to
@@ -162,9 +195,15 @@ are mere guesses, and some may be wrong.
 --- missing eqn features -----------------------------------------------
 
 - In a matrix, break the output line after each matrix line.
 --- 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 *
 
 - The "size" keyword is parsed, but ignored by the formatter.
   loc *  exist *  algo *  size *  imp *
@@ -258,6 +297,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
 
   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
 
 - check features of the Slackware man.conf(5) format
   Carsten Kunze  Wed, 11 Mar 2015 17:57:24 +0100
 
@@ -321,6 +363,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)
 
 - 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
   loc **  exist *  algo **  size *  imp **
 
 - formatting /usr/local/man/man1/latex2man.1 with groff and mandoc
@@ -342,6 +386,11 @@ are mere guesses, and some may be wrong.
 
 --- HTML issues --------------------------------------------------------
 
 
 --- 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
 - .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
@@ -354,6 +403,11 @@ are mere guesses, and some may be wrong.
   https://github.com/Debian/debiman/issues/15
   loc *  exist *  algo **  size **  imp **
 
   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...
 - 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...
@@ -438,15 +492,6 @@ are mere guesses, and some may be wrong.
 * warning issues
 ************************************************************************
 
 * warning issues
 ************************************************************************
 
-- When a man(1) command returns no result and there was an -S
-  argument, check the -S argument against the list of valid
-  architectures and say "Unknown architecture AAA" rather than
-  "No entry for NNN in the manual" if there is no match.
-  Requires moving the lists of valid architectures out of
-  mdoc_validate.c such that they can be used by main.c.
-  Discussed with jmc@ 10 Aug 2018 19:20:12 +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 **
 - warn about duplicate .Sh/.Ss heads
   gre(4): Rename duplicate sections 20 Apr 2018 15:27:33 +0200
   loc *  exist *  algo *  size *  imp **
@@ -515,10 +560,6 @@ are mere guesses, and some may be wrong.
   Found by Aaron M. Ucko in the GNU Hurd via Bdale Garbee,
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829624
 
   Found by Aaron M. Ucko in the GNU Hurd via Bdale Garbee,
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829624
 
-- We use the input line number at several places to distinguish
-  same-line from different-line input.  That plainly doesn't work
-  with user-defined macros, leading to random breakage.
-
 - Is it possible to further simplify ENDBODY_SPACE?
 
 - Find better ways to prevent endless loops
 - Is it possible to further simplify ENDBODY_SPACE?
 
 - Find better ways to prevent endless loops
@@ -543,6 +584,15 @@ are mere guesses, and some may be wrong.
 * to improve in the groff_mdoc(7) macros
 ************************************************************************
 
 * 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"
 - .Cd # arch1, arch2 in section 4 pages:
   find better way to indicate multiple architectures, maybe:
   allow .Dt vgafb 4 "macppc sparc64"