************************************************************************
* Official mandoc TODO.
-* $Id: TODO,v 1.200 2015/02/17 20:41:50 schwarze Exp $
+* $Id: TODO,v 1.207 2015/04/18 16:05:45 schwarze Exp $
************************************************************************
Many issues are annotated for difficulty as follows:
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 *
found by bentley@ in sbcl(1) Mon, 9 Dec 2013 18:36:57 -0700
loc * exist * algo * size * imp **
+- \n(.$ macro argument count number register; ocserv(8) by autogen
+ found by sthen@ Thu, 19 Feb 2015 22:03:01 +0000
+ loc * exist ** algo * size * imp **
+
- \w'' improve width measurements
would not be very useful without an expression parser, see below
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 *
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
- 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
************************************************************************
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
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
+ reminded by Peter Bray Fri, 03 Apr 2015 23:02:16 +1100
+
************************************************************************
* warning issues
************************************************************************
* 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.