=================================================================== RCS file: /cvs/mandoc/TODO,v retrieving revision 1.38 retrieving revision 1.60 diff -u -p -r1.38 -r1.60 --- mandoc/TODO 2010/08/15 16:38:35 1.38 +++ mandoc/TODO 2010/10/17 21:10:53 1.60 @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.38 2010/08/15 16:38:35 schwarze Exp $ +* $Id: TODO,v 1.60 2010/10/17 21:10:53 schwarze Exp $ ************************************************************************ ************************************************************************ @@ -36,12 +36,25 @@ \\ must behave in a macro def like in a macro argument, and when using the macro, it must expand yet again. -- look at bsd.lv tbl(1) - from kristaps@ Fri, 11 Sep 2009 17:10:53 +0200 - also look at the mail from Thomas Klausner wiz at NetBSD - on Wed, 2 Jun 2010 11:01:29 +0200 - joerg@ has patches for this somewhere... +- implement basic non-parametric .de to support e.g. sox(1) + .de SP + .if t .sp .5 + .if n .sp + .. + .de EX + .SP + .nf + .ft CW + .. + .de EE + .ft R + .SP + .fi + .. + reported by naddy@ Sat, 16 Oct 2010 23:51:57 +0200 +- port OpenBSD tbl integration bsd.lv, probably cleaning it up + - 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. @@ -56,6 +69,13 @@ - explicitly disallow nested `Bl -column', which would clobber internal flags defined for struct mdoc_macro +- inside `.Bl -column' phrases, punctuation is handled like normal + text, e.g. `.Bl -column .It Fl x . Ta ...' should give "-x -." + +- inside `.Bl -column' phrases, TERMP_IGNDELIM handling by `Pf' + is not safe, e.g. `.Bl -column .It Pf a b .' gives "ab." + but should give "ab ." + - set a meaningful default if no `Bl' list type is assigned - have a blank `It' head for `Bl -tag' not puke @@ -66,7 +86,11 @@ - allow `Qq', `Dq', `Sq', `Aq', `Bq' to have 0 arguments noted by Alex Kozlov 08/06/10 23:05 - + +- Have `Sh', `It', `Ss' and others complain if `Pp' is invoked prior to + close (in the post validation) or prior to open (pre). This noted by + jmc@ a thousand years ago. + ************************************************************************ * formatting issues: ugly output ************************************************************************ @@ -74,11 +98,17 @@ - perl(1) SYNOPSIS looks bad; reported by deraadt@ 1) man(7) seems to need SYNOPSIS .Nm blocks, too +- In .Bl -column, + .It Em AuthenticationKey Length + ought to render "Key Length" with emphasis, too, + see OpenBSD iked.conf(5). + - empty phrases in .Bl column produce too few blanks try e.g. .Bl -column It Ta Ta reported by millert Fri, 02 Apr 2010 16:13:46 -0400 -- %A doesn't put an "and" before the final author name. +- in enclosures, mandoc sometimes fancies a bogus end of sentence + reminded by jmc@ Thu, 23 Sep 2010 18:13:39 +0059 ************************************************************************ * formatting issues: gratuitious differences @@ -88,37 +118,36 @@ to better distinguish the contents of .%T and .%J, see for example OpenBSD cat(1) -- .It ${name Ns [ selector ] Ns } - should be "${name[selector]}" not "${name [selector]}" - This is parsed as - text("${name") text("[") Ns() text(selector)... - Opening punctuation should not fall out of .Ns. - see for example OpenBSD csh(1) - -- .%A should append the last author with " and " (if there are two) - or ", and " (if there are more), not ", " - see for example OpenBSD csh(1) - - In .Bl -bullet, the groff bullet is "+\b+\bo\bo", the mandoc bullet is just "o\bo". see for example OpenBSD ksh(1) -- .No text No ) is "text )", not "text)" - see the terrible example - case word in [[(] pattern [| pattern] ... ) list ;; ] ... esac - in OpenBSD ksh(1) - -- .Sm should *not* produce as a blank line in .Bd -literal - see for example "Brace expansion" in OpenBSD ksh(1) - - The characters "|" and "\*(Ba" should never be bold, not even in the middle of a word, e.g. ".Cm b\*(Bac" in "mknod [-m mode] name b|c major minor" in OpenBSD ksh(1) - A bogus .Pp between two .It must not produce a double blank line, - see between -R and -r in OpenBSD rm(1). + see between -R and -r in OpenBSD rm(1), before "update" in mount(8), + or in DIAGNOSTICS in init(8). +- .Bd -literal and .Bd -unfilled are *not* identical. + In -literal, tabs are 8 spaces. + In -unfilled, tabs are 5 spaces, just like in -filled and -ragged. + See the CCDF_* display in OpenBSD ccdconfig(8). + +- .Nx 1.0a + should be "NetBSD 1.0A", not "NetBSD 1.0a", + see OpenBSD ccdconfig(8). + +- In .Bl -tag, if a tag exceeds the right margin and must be continued + on the next line, it must be indented by -width, not width+1; + see "rule block|pass" in OpenBSD ifconfig(8). + +- The \& zero-width character counts as output. + That is, when it is alone on a line between two .Pp, + we want three blank lines, not two as in mandoc. + ************************************************************************ * performance issues ************************************************************************ @@ -134,14 +163,3 @@ Several areas can be cleaned up to make mandoc even fa ************************************************************************ * structural issues ************************************************************************ - -- rendering frontend code can calculate widths only for plain strings, - not for strings containing escape sequences. For example, this - hinders calculation of the indent required for .Nm \&[ in text(1). - comments from kristaps@ Wed, 21 Jul 2010 23:26:08 +0200 - -- another example of the same problem: - .Bl -tag -width "\eD{format}XX" -compact - in OpenBSD ksh(1) gives the wrong width - because "\e" is one character in groff, two in mandoc -