X-Git-Url: https://git.cameronkatri.com/mandoc.git/blobdiff_plain/e24ca30202c47ca3c1b93f06039aeeabd3fd509a..24ce22505f53c465459aae9ef86b0d767b2d69e7:/TODO diff --git a/TODO b/TODO index e3090af0..4f8e591e 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,8 @@ +************************************************************************ +* Official mandoc TODO. May not be quite up to date. +* $Id: TODO,v 1.33 2010/07/25 18:22:18 schwarze Exp $ +************************************************************************ + ************************************************************************ * missing features ************************************************************************ @@ -6,6 +11,9 @@ at the end of the enclosing block, e.g. .Bl It (El) Sh reminded by stsp@ in net/pptp pptp.8 Fri, 23 Apr 2010 20:32:39 +0200 +- fix bad block nesting involving multiple identical explicit blocks + see the OpenBSD mdoc_macro.c 1.47 commit message + - .Bl -column .Xo support is missing ultimate goal: restore .Xr and .Dv to @@ -13,13 +21,13 @@ lib/libc/gen/signal.3 lib/libc/sys/sigaction.2 -- .Bk / .Ek is broken, e.g. - $ man ssh - [...] - ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D - [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] - reminded by Ludo Smissaert Mon, 10 May 2010 12:15:11 +0200 - also reported by jmc@ earlier +- edge case: decide how to deal with blk_full bad nesting, e.g. + .Sh .Nm .Bk .Nm .Ek .Sh found by jmc@ in ssh-keygen(1) + from jmc@ Wed, 14 Jul 2010 18:10:32 +0100 + +- auto-Bk in the SYNOPSIS + patch from kristaps@ Fri, 16 Jul 2010 14:51:24 +0200 + to be revisited after OpenBSD 4.8 tree unlock - implement \\ in plain text, identical to \e @@ -30,6 +38,8 @@ - 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 - 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 @@ -49,43 +59,27 @@ - have a blank `It' head for `Bl -tag' not puke -- ignore horrendous m[] font colouring - reported by J.C. Roberts +- 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) ************************************************************************ * formatting issues: ugly output ************************************************************************ -- outside list context, text following .Sm off - seems to follow without a blank (TERM_NOBLANK reset late?) e.g. - .Sm off - .Xo - .Op Ar bind_address No / - .Ar port - .Xc - .Sm on - or by enclosing - reported by jmc Tue, 13 Apr 2010 08:48:14 +0100 - -- URGENT, this is making many kernel manuals look bad: - .Ft/.Fn should MAYBE behave in custom section like in SYNOPSIS? - autoconf.9: - .Sh DIRECT CONFIGURATION - .nr nS 1 - .Ft "struct device *" - .Fn config_found_sm "struct device *parent" - groff: - DIRECT CONFIGURATION - struct device * - config_found_sm(struct device *parent, ... - reported by sthen Tue, 20 Apr 2010 13:42:51 +0100 - -- indentation got lost in SYNOPSIS, e.g. - SYNOPSIS - date [-ajnu] [-d dst] [-r seconds] [-t minutes_west] [+format] - - [[[[[[cc]yy]mm]dd]HH]MM[.SS]] - + [[[[[[cc]yy]mm]dd]HH]MM[.SS]] - reminded by Ludo Smissaert Mon, 10 May 2010 12:15:11 +0200 +- boot_config.8 + .Bd -literal + .No UKC> Ic find ne + 24 ne0 at isa0 + should be + UKC> find ne + 24 ne0 at isa0 + but is + UKC>find ne24 ne0 at isa0 + from jmc@ Wed, 21 Jul 2010 22:40:02 +0100 + +- perl(1) SYNOPSIS looks bad; reported by deraadt@ + 1) man(7) seems to need SYNOPSIS .Nm blocks, too - empty phrases in .Bl column produce too few blanks try e.g. .Bl -column It Ta Ta @@ -95,20 +89,7 @@ * formatting issues: gratuitious differences ************************************************************************ -- FIXED OpenBSD mdoc.c 1.52 schwarze 16.5.10 - lines containing blank characters, and nothing else, - in literal context (.Bd -literal): - groff outputs just blank lines "\n" - mandoc outputs blanks to the left margin, - then the number of balnks minus one - NEEDS MERGING TO bsd.lv - - -************************************************************************ -* parser errors without any effect on formatting -************************************************************************ - -- OpenBSD::PackageName(3p) has "if (block) 90:1" in the parse tree +- none reported right now (yet schwarze@ knows of some) ************************************************************************ * performance issues @@ -116,12 +97,16 @@ Several areas can be cleaned up to make mandoc even faster. These are -- improve caching mechanism to handle other per-element arguments so - that they need not be recalculated between front- and back-ends (also - reduces code size and complexity): - `Bl -column' pointer - `Bf' font type - - improve hashing mechanism for macros (quite important: performance) - improve hashing mechanism for characters (not as important) + +************************************************************************ +* 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 +