]> git.cameronkatri.com Git - mandoc.git/blobdiff - TODO
Drop trailing whitespace, adjust a few indentations,
[mandoc.git] / TODO
diff --git a/TODO b/TODO
index 78a54e728189c8e6b22e41251900332128e738be..03cd3a46277fa8fde5c6cb9cc881a136a201967f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,6 @@
 ************************************************************************
 * Official mandoc TODO.
-* $Id: TODO,v 1.172 2014/06/20 02:53:13 schwarze Exp $
+* $Id: TODO,v 1.182 2014/10/10 10:49:38 schwarze Exp $
 ************************************************************************
 
 ************************************************************************
 - using undefined strings or macros defines them to be empty
   wl@  Mon, 14 Nov 2011 14:37:01 +0000
 
-- general expression parser, including arithmetics
-  to be used at least for .if/.ie and .nr and maybe at other places
-  could use J.T.Conklin's PD code in bin/expr/expr.c for inspiration
-  needed for Tcl_NewStringObj(3) via wiz@  Wed, 5 Mar 2014 22:27:43 +0100
-
 --- missing mdoc features ----------------------------------------------
 
 - fix bad block nesting involving multiple identical explicit blocks
   because libmdoc does not yet use mandoc_getarg().
   Also check what happens in plain text, it must be identical to \e.
 
+- .Bd -centered implies -filled, not -unfilled, which is not
+  easy to implement; it requires code similar to .ce, which
+  we don't have either.
+  Besides, groff has bug causing text right *before* .Bd -centered
+  to be centered as well.
+
 - .Bd -filled should not be the same as .Bd -ragged, but align both
   the left and right margin.  In groff, it is implemented in terms
   of .ad b, which we don't have either.  Found in cksum(1).
 
 - have a blank `It' head for `Bl -tag' not puke
 
+- check whether it is correct that `D1' uses INDENT+1;
+  does it need its own constant?
+
 - prohibit `Nm' from having non-text HEAD children
   (e.g., NetBSD mDNSShared/dns-sd.1)
   (mdoc_html.c and mdoc_term.c `Nm' handlers can be slightly simplified)
 
+- support translated section names
+  e.g. x11/scrotwm scrotwm_es.1:21:2: error: NAME section must be first
+  that one uses NOMBRE because it is spanish...
+  deraadt tends to think that section-dependent macro behaviour
+  is a bad idea in the first place, so this may be irrelevant
+
 - When there is free text in the SYNOPSIS and that free text contains
   the .Nm macro, groff somehow understands to treat the .Nm as an in-line
   macro, while mandoc treats it as a block macro and breaks the line.
 - look at the POSIX manuals in the books/man-pages-posix port,
   they use some unsupported tbl(7) features.
 
-- implement basic non-parametric .de to support e.g. sox(1)
-  reported by naddy@ Sat, 16 Oct 2010 23:51:57 +0200
-  *** sox(1) still doesn't work, tbl(1) errors need investigation
+- investigate tbl(1) errors in sox(1)
+  see also naddy@  Sat, 16 Oct 2010 23:51:57 +0200
 
 - 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
 
+--- missing eqn features -----------------------------------------------
+
+- set, delim, fonts
+
+- The "size" keyword is parsed, but ignored by the formatter.
+
+- The spacing characters `~', `^', and tab are currently ignored,
+  see User's Guide (Second Edition) page 2 section 4.
+
+- Mark and lineup are parsed and ignored,
+  see User's Guide (Second Edition) page 5 section 15.
+
 --- missing misc features ----------------------------------------------
 
 - italic correction (\/) in PostScript mode
   Werner LEMBERG on groff at gnu dot org  Sun, 10 Nov 2013 12:47:46
 
-- The whatis(1) utility looks for whole words in Nm.
-  If the file name of a page does not agree with the contents of any
-  of its Nm macros (e.g. pool(9)), add the file name as an Nm entry
-  to the mandoc.db as well, such that whatis(1) finds it.
-  If there is a page with a file name that does not appear as a substring
-  neither in Nm nor in Nd, the same fix would allow finding that page
-  with apropos(1) using the file name as a key, as well.
-  Issue reported by tedu@  Fri, 05 Jul 2013 21:15:23 -0400
+- 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.
 
 - makewhatis(8) for preformatted pages:
   parse the section number from the header line
       see textproc/mgdiff(1) for nice examples
   (3) undefined, just output the character -> perhaps WARNING
 
+- kettenis wants base roff, ms, and me  Fri, 1 Jan 2010 22:13:15 +0100 (CET)
+
+--- compatibility checks -----------------------------------------------
+
+- is .Bk implemented correctly in modern groff?
+  sobrado@  Tue, 19 Apr 2011 22:12:55 +0200
+
+- compare output to Heirloom roff, Solaris roff, and
+  http://repo.or.cz/w/neatroff.git  http://litcave.rudi.ir/
+
+- 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
+
 - 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
   roff stuff.  Figure out to what extent we can cope.
   noted by stsp@  Sat, 24 Apr 2010 09:17:55 +0200
   reminded by nicm@  Mon, 3 May 2010 09:52:41 +0100
 
+- look at pages generated from ronn(1) github.com/rtomayko/ronn
+  (based on markdown)
+
 - look at pages generated from Texinfo source by yat2m, e.g. security/gnupg
   First impression is not that bad.
 
   http://swtch.com/plan9port/man/man7/man.html
   "Anthony J. Bentley" <anthonyjbentley@gmail.com> 28 Dec 2010 21:58:40 -0700
 
+- check compatibility with the man(7) formatter
+  https://raw.githubusercontent.com/rofl0r/hardcore-utils/master/man.c
+
 ************************************************************************
 * formatting issues: ugly output
 ************************************************************************
   the right solution, it sends mandoc into an endless loop.
   reported by Nicolas Joly  Sat, 17 Nov 2012 11:49:54 +0100
 
+- global variables in the SYNOPSIS of section 3 pages
+  .Vt vs .Vt/.Va vs .Ft/.Va vs .Ft/.Fa ...
+  from kristaps@  Tue, 08 Jun 2010 11:13:32 +0200
+
 - in enclosures, mandoc sometimes fancies a bogus end of sentence
   reminded by jmc@  Thu, 23 Sep 2010 18:13:39 +0059
 
   Also check what PostScript mode does when fixing this.
   reported by juanfra@ Wed, 04 Jun 2014 21:44:58 +0200
 
+--- HTML issues --------------------------------------------------------
+
+- <dl><dt><dd> formatting is ugly
+  hints are easy to find on the web, e.g.
+  http://stackoverflow.com/questions/1713048/
+  see also matthew@  Fri, 18 Jul 2014 19:25:12 -0700
+
+- 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...
+  Observed by an Anonymous Coward on undeadly.org:
+  http://undeadly.org/cgi?action=article&sid=20140925064244&pid=1
+
+- consider whether <var> can be used for Ar Dv Er Ev Fa Va.
+  from bentley@  Wed, 13 Aug 2014 09:17:55 -0600
+
+- check https://github.com/trentm/mdocml
+
+--- eqn issues ---------------------------------------------------------
+
+- If .EQ follows preceding text, a space should be output between the
+  text and the equation.
+
 ************************************************************************
 * formatting issues: gratuitous differences
 ************************************************************************
   is just "o\bo".
   see for example OpenBSD ksh(1)
 
+- 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
+
 - .Pp between two .It in .Bl -column should produce one,
   not two blank lines, see e.g. login.conf(5).
   reported by jmc@  Sun, 17 Apr 2011 14:04:58 +0059
   See the mail from Werner LEMBERG on the groff list,
   Fri, 14 Feb 2014 18:54:42 +0100 (CET)
 
+- warn about "new sentence, new line"
+
+- mandoc_special does not really check the escape sequence,
+  but just the overall format
+
+- integrate mdoclint into mandoc ("end-of-line whitespace" thread)
+  from jmc@  Mon, 13 Jul 2009 17:12:09 +0100
+  from kristaps@  Mon, 13 Jul 2009 18:34:53 +0200
+  from jmc@  Mon, 13 Jul 2009 17:45:37 +0059
+  from kristaps@  Mon, 13 Jul 2009 19:02:03 +0200
+
+- -Tlint parser errors and warnings to stdout
+  to tech@mdocml, naddy@  Wed, 28 Sep 2011 11:21:46 +0200
+  wait!  kristaps@  Sun, 02 Oct 2011 17:12:52 +0200
+
+- for system errors, use errno/strerror/warn/err
+
+************************************************************************
+* 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?
+
+- mention /usr/share/misc/mdoc.template in mdoc(7)?
+
 ************************************************************************
 * performance issues
 ************************************************************************
 
+- Why are we using MAP_SHARED, not MAP_PRIVATE for mmap(2)?
+  How does SQLITE_CONFIG_PAGECACHE actually work?  Document it!
+  from kristaps@  Sat, 09 Aug 2014 13:51:36 +0200
+
 Several areas can be cleaned up to make mandoc even faster.  These are 
 
 - improve hashing mechanism for macros (quite important: performance)
@@ -358,3 +465,17 @@ Several areas can be cleaned up to make mandoc even faster.  These are
   abstract from the database structure, too.
   suggested by espie@  Sat, 19 Apr 2014 14:52:57 +0200
 
+************************************************************************
+* CGI issues
+************************************************************************
+
+ - Enable HTTP compression by detecting gzip encoding and filtering
+   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.
+