]> git.cameronkatri.com Git - mandoc.git/blobdiff - TODO
Reduce the amount of code by moving the three copies of the ohash
[mandoc.git] / TODO
diff --git a/TODO b/TODO
index ebd488ccee6acf638d2b738578af84964ea7e601..7be673985b5ad2f9ff7f100411227b87e803f33c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,6 @@
 ************************************************************************
 * Official mandoc TODO.
-* $Id: TODO,v 1.201 2015/02/20 13:47:28 schwarze Exp $
+* $Id: TODO,v 1.214 2015/09/29 18:45:36 schwarze Exp $
 ************************************************************************
 
 Many issues are annotated for difficulty as follows:
@@ -66,6 +66,7 @@ are mere guesses, and some may be wrong.
   loc *  exist *  algo *  size *  imp **
 
 - .ns (no-space mode) occurs in xine-config(1)
+  when implementing this, also let .TH set it
   reported by brad@  Sat, 15 Jan 2011 15:45:23 -0500
   loc ***  exist ***  algo ***  size **  imp *
 
@@ -105,6 +106,19 @@ 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 ***
 
+- \\ in high-level macro arguments
+  Currently, \\ is expanded in two situations:
+  1) macro and string definition (roff.c setstrn())
+  2) macro argument parsing (mandoc.c mandoc_getarg())
+  For user defined macros, the second happens in time because of ROFF_REPARSE.
+  But for standard high-level macros, it only happens after entering the
+  high level parsers, which is too late because the code doesn't get
+  back to roff.c roff_res() from that point.  Because this requires
+  distinguishing requests, user-defined macros and standard macros
+  on the roff_res() level, it is hard to solve without the parser reorg.
+  Found by naddy@ in devel/cutils cobfusc(1)  Mon, 16 Feb 2015 19:10:52 +0100
+  loc ***  exist ***  algo ***  size **  imp *
+
 - using undefined strings or macros defines them to be empty
   wl@  Mon, 14 Nov 2011 14:37:01 +0000
   loc *  exist *  algo *  size *  imp *
@@ -194,6 +208,26 @@ are mere guesses, and some may be wrong.
 
 --- missing tbl features -----------------------------------------------
 
+- horizontal lines in the layout still consume data cells
+  and can be mixed with actual data on the same table line
+  synaptics(4) found by tedu@  Mon, 17 Aug 2015 21:17:42 -0400
+  loc **  exist **  algo **  size **  imp ***
+
+- the "w" layout option is ignored
+  synaptics(4) found by tedu@  Mon, 17 Aug 2015 21:17:42 -0400
+  loc *  exist *  algo *  size *  imp **
+
+- the "s" layout column specifier is used for placement of data
+  into columns, but ignored during column width calculations
+  synaptics(4) found by tedu@  Mon, 17 Aug 2015 21:17:42 -0400
+  loc *  exist **  algo ***  size *  imp **
+
+- support mdoc(7) and man(7) macros inside tbl(7) code;
+  probably requires the parser reorg and letting tbl(7)
+  use roff_node such that macro sets can mix;
+  informed by bapt@ that FreeBSD needs this.
+  loc ***  exist **  algo ***  size **  imp ***
+
 - look at the POSIX manuals in the books/man-pages-posix port,
   they use some unsupported tbl(7) features.
   loc *  exist **  algo **  size **  imp ***
@@ -203,13 +237,13 @@ are mere guesses, and some may be wrong.
   suggested by bentley@  Tue, 14 Oct 2014 04:10:55 -0600
   loc *  exist **  algo *  size *  imp **
 
-- allow standalone `.' to be interpreted as an end-of-layout
-  delimiter instead of being thrown away as a no-op roff line
-  reported by Yuri Pankov, Wed 18 May 2011 11:34:59 CEST
-  loc **  exist **  algo **  size *  imp **
-
 --- 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 **
+
 - The "size" keyword is parsed, but ignored by the formatter.
   loc *  exist *  algo *  size *  imp *
 
@@ -227,13 +261,9 @@ are mere guesses, and some may be wrong.
   Werner LEMBERG on groff at gnu dot org  Sun, 10 Nov 2013 12:47:46
   loc **  exist **  algo *  size *  imp *
 
-- When makewhatis(8) encounters a FATAL parse error,
-  it silently treats the file as formatted, which makes no sense
-  at all for paths like man1/foo.1 - and which also contradicts
-  what the manual says at the end of the description.
-  The end result will be ENOENT for file names returned
-  by mansearch() in manpage.file.
-  loc *  exist *  algo *  size *  imp **
+- change the default PAGER to more -Es and use the pager
+  even for apropos title line output; req by bapt@
+  loc *  exist *  algo *  size *  imp ***
 
 - makewhatis(8) for preformatted pages:
   parse the section number from the header line
@@ -255,11 +285,13 @@ are mere guesses, and some may be wrong.
 - kettenis wants base roff, ms, and me  Fri, 1 Jan 2010 22:13:15 +0100 (CET)
   loc **  exist **  algo **  size ***  imp *
 
---- compatibility checks -----------------------------------------------
+- Vsevolod Stakhov (FreeBSD) needs either a markdown output formatter
+  for mandoc -mdoc or a markdown to mdoc converter because they
+  have to maintain manuals needed both in markdown and mdoc format.
+  Look at the libsoldout (markdown -> whatever)
+  loc *  exist *  algo *  size **  imp **
 
-- write a configure check for [[:<:]] support and provide some
-  fallback for whatis(1) when it doesn't work;
-  Svyatoslav Mishyn  Wed, 17 Dec 2014 11:07:10 +0200
+--- compatibility checks -----------------------------------------------
 
 - is .Bk implemented correctly in modern groff?
   sobrado@  Tue, 19 Apr 2011 22:12:55 +0200
@@ -293,6 +325,9 @@ are mere guesses, and some may be wrong.
   http://swtch.com/plan9port/man/man7/man.html
   "Anthony J. Bentley" <anthonyjbentley@gmail.com> 28 Dec 2010 21:58:40 -0700
 
+- check compatibility with COHERENT troff:
+  http://www.nesssoftware.com/home/mwc/source.php
+
 - check compatibility with the man(7) formatter
   https://raw.githubusercontent.com/rofl0r/hardcore-utils/master/man.c
 
@@ -381,6 +416,12 @@ are mere guesses, and some may be wrong.
   see also matthew@  Fri, 18 Jul 2014 19:25:12 -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
+  reported by deraadt@ Mon, 28 Sep 2015 20:14:13 -0600 (MDT)
+  loc **  exist **  algo **  size *  imp *
+
 - jsg on icb, Nov 3, 2014:
   try to guess Xr in man(7) for hyperlinking
 
@@ -394,6 +435,10 @@ are mere guesses, and some may be wrong.
 - consider whether <var> can be used for Ar Dv Er Ev Fa Va.
   from bentley@  Wed, 13 Aug 2014 09:17:55 -0600
 
+- generate <img> tags in HTML
+  idea from florian@  Tue, 7 Apr 2015 00:26:28 +0000
+  may be possible to implement with .Lk img://something.png alt_text
+
 - check https://github.com/trentm/mdocml
 
 ************************************************************************
@@ -466,6 +511,10 @@ are mere guesses, and some may be wrong.
   found while talking to Chris Bennett
   loc *  exist *  algo *  size *  imp *
 
+- Sequences of multiple man(7) paragraphs (.PP, .IP) interspersed
+  with .ps and .nf/.fi produce execessive blank lines, see libJudy
+  and graphics/dcmtk.  The parser reorg may help with this.
+
 - trailing whitespace must be ignored even when followed by a font escape,
   see for example
     makes
@@ -474,10 +523,33 @@ are mere guesses, and some may be wrong.
   in dig(1).
   loc **  exist **  algo **  size *  imp **
 
+************************************************************************
+* portability
+************************************************************************
+
+- word boundaries in regular expressions for whatis(1)
+  set up config tests to use [[:<:]], \<, or nothing
+  Svyatoslav Mishyn  Wed, 17 Dec 2014 11:07:10 +0200
+  reminded by Peter Bray Fri, 03 Apr 2015 23:02:16 +1100
+  loc *  exist *  algo *  size *  imp *
+
+- systems having UTF-8 but not en_US.UTF-8
+  call locale(1) from ./configure, select a UTF-8-locale,
+  and use that for test-wchar.c and term_ascii.c
+  to Markus Waldeck  Sat, 18 Jul 2015 01:55:37 +0200
+  loc *  exist *  algo *  size *  imp *
+
 ************************************************************************
 * warning issues
 ************************************************************************
 
+- Report errors in -O suboption parsing.
+  loc *  exist *  algo *  size *  imp **
+
+- warn when .Sh or .Ss contain other macros
+  Steffen Nurpmeso, savannah.gnu.org/bugs/index.php?45034
+  loc *  exist *  algo *  size *  imp **
+
 - check that MANDOCERR_BADTAB is thrown in the right cases,
   i.e. when finding a literal tab character in fill mode,
   and possibly change the wording of the warning message