]> git.cameronkatri.com Git - mandoc.git/blobdiff - TODO
Show the flags MDOC_DELIMO, MDOC_DELIMC, MDOC_EOS, and MAN_EOS.
[mandoc.git] / TODO
diff --git a/TODO b/TODO
index 701cd1ddf212e84d3e119930f05e891510c72c1f..c17f681213120b6b7fa9e309aecaf537176922cd 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,6 @@
 ************************************************************************
 * Official mandoc TODO.
-* $Id: TODO,v 1.202 2015/03/11 13:11:22 schwarze Exp $
+* $Id: TODO,v 1.213 2015/08/29 15:10:28 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
 
@@ -394,6 +429,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 +505,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 +517,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
@@ -557,11 +623,6 @@ Several areas can be cleaned up to make mandoc even faster.  These are
 * structural issues
 ************************************************************************
 
-- Improve -O suboption parsing.  Do it in the main program such that
-  errors can be reported.  Pay attention to distinguishing the
-  mandoc(1) and apropos(1) styles of both options.
-  loc **  exist *  algo **  size **  imp ***
-
 - Use libz directly instead of forking gunzip(1).
   Suggested by bapt at FreeBSD among others.