************************************************************************
* Official mandoc TODO.
-* $Id: TODO,v 1.228 2017/01/27 13:47:10 schwarze Exp $
+* $Id: TODO,v 1.234 2017/02/18 11:53:33 schwarze Exp $
************************************************************************
Many issues are annotated for difficulty as follows:
- 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.
+ informed by bapt@ that FreeBSD needs this: 3 Jan 2015 23:32:23 +0100
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 ***
+- look what Joerg Schilling manual pages use
+ Thu, 19 Mar 2015 18:31:48 +0100
+
- use Unicode U+2500 to U+256C for table borders
in tbl(7) -Tutf-8 output
suggested by bentley@ Tue, 14 Oct 2014 04:10:55 -0600
- look at AT&T DWB http://www2.research.att.com/sw/download
Carsten Kunze <carsten dot kunze at arcor dot de> has patches
Mon, 4 Aug 2014 17:01:28 +0200
+ ported version: https://github.com/n-t-roff/DWB3.3
+ Carsten Kunze Wed, 22 Apr 2015 11:21:43 +0200
- look at pages generated from reStructeredText, e.g. devel/mercurial hg(1)
These are a weird mixture of man(7) and custom autogenerated low-level
https://github.com/schmonz/ikiwiki/compare/mandoc
Amitai Schlair Mon, 19 May 2014 14:05:53 -0400
+- check features of the Slackware man.conf(5) format
+ Carsten Kunze Wed, 11 Mar 2015 17:57:24 +0100
+
************************************************************************
* formatting issues: ugly output
************************************************************************
reveals lots of bugs both in groff and mandoc...
reported by bentley@ Wed, 22 May 2013 23:49:30 -0600
---- PDF issues ---------------------------------------------------------
+--- PostScript and PDF issues ------------------------------------------
- PDF output doesn't use a monospaced font for .Bd -literal
Example: "mandoc -Tpdf afterboot.8 > output.pdf && pdfviewer output.pdf".
instructions from juanfra@ Wed, 11 Jun 2014 02:21:01 +0200
add a new <</Type /Font>> block to the PDF files with /BaseFont /Courier
and change the /Name from /F0 to the new font (/F5 (?)).
+ re-reported by tb@ Mon, 16 Mar 2015 16:47:21 +0100
loc * exist ** algo ** size * imp **
--- HTML issues --------------------------------------------------------
http://undeadly.org/cgi?action=article&sid=20140925064244&pid=1
loc * exist * algo ** size * imp ***
-- 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
Steffen Nurpmeso Sat, 08 Nov 2014 13:34:59 +0100
loc * exist ** algo ** size * imp **
+- .Lk formatting for long links with line breaks
+ Franco Fichtner 8 Oct 2013 00:33:42 +0200
+
- In .Bl -enum -width 0n, groff continues one the same line after
the number, mandoc breaks the line.
mail to kristaps@ Mon, 20 Jul 2009 02:21:39 +0200
The same applies to .Bl -column column widths;
reported again by Nicolas Joly Thu, 1 Mar 2012 13:41:26 +0100 via wiz@ 5 Mar
reported again by Franco Fichtner Fri, 27 Sep 2013 21:02:28 +0200
+ reported again by Bruce Evans Fri, 17 Feb 2017 21:22:44 +0100 via bapt@
loc *** exist *** algo *** size ** imp ***
An easy partial fix would be to just skip the first word if it starts
with a dot, including any following white space, when measuring.
we want three blank lines, not two as in mandoc.
loc ** exist ** algo ** size * imp **
-- Header lines of excessive length:
- Port OpenBSD man_term.c rev. 1.25 to mdoc_term.c
- and document it in mdoc(7) and man(7) COMPATIBILITY
- 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.
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
- to refer to fill mode, not literal mode
- See the mail from Werner LEMBERG on the groff list,
- Fri, 14 Feb 2014 18:54:42 +0100 (CET)
- loc * exist ** algo ** size * imp **
-
- warn about attempts to call non-callable macros
Steffen Nurpmeso Tue, 11 Nov 2014 22:55:16 +0100
Note that formatting is inconsistent in groff.
all over mdoc_macro.c and all subtly different.
loc ** exist ** algo ** size ** imp **
-- warn about "new sentence, new line"
- loc ** exist ** algo *** size * imp **
-
- mandoc_special does not really check the escape sequence,
but just the overall format
loc ** exist ** algo *** size ** imp **
* documentation issues
************************************************************************
-- mention hyphenation rules:
- breaking at letter-letter in text mode (not macro args)
- proper hyphenation is unimplemented
-
-- talk about spacing around delimiters
- to jmc@, kristaps@ Sat, 23 Apr 2011 17:41:27 +0200
-
- mark macros as: page structure domain, manual domain, general text domain
is this useful?
- improve hashing mechanism for macros (quite important: performance)
-- improve hashing mechanism for characters (not as important)
-
- the PDF file is HUGE: this can be reduced by using relative offsets
-- instead of re-initialising the roff predefined-strings set before each
- parse, create a read-only version the first time and copy it
- loc * exist ** algo ** size * imp **
-
************************************************************************
* structural issues
************************************************************************
output through libz.
- Sandbox (see OpenSSH).
- Enable caching support via HTTP 304 and If-Modified-Since.
- - Allow for cgi.h to be overridden by CGI environment variables.
- Otherwise, binary distributions will inherit the compile-time
- behaviour, which is not optimal.
- Have Mac OSX systems automatically disable -static compilation of the
CGI: -static isn't supported.