]> git.cameronkatri.com Git - mandoc.git/blobdiff - TODO
Closing of full blocks (Bd Bf Bk Bl It Fo Nd Rs Sh Ss) may never be
[mandoc.git] / TODO
diff --git a/TODO b/TODO
index 961976d7b33278ac632feb2d95b6aedda26e54b3..073340598202dbfd9de23c29761e685a9db89c33 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,6 +6,19 @@
   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
+
+- we need real .ds; for example, terminfo.3 has
+  .ds n 5
+  and then later
+  \fBterminfo\fR(\*n)
+  reported orally by halex@ during c2k10
+
+- \*(Pu is not implemented, but used in mdoc.samples
+  implementing .ds would solve this as well
+  reminded by jmc@, last on Sun, 27 Jun 2010 15:29:18 +0100
+
 - .Bl -column .Xo support is missing
   ultimate goal:
   restore .Xr and .Dv to
   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
-
-- FIXED man(7) .TH should recognize "3p" as a section number
-  found in usr.bin/pkg_add OpenBSD::Getopt
-  NEEDS MERGING TO openbsd.org
-
 - implement \\
   in plain text, identical to \e
   as a macro argument, identical to \ i.e. escaping the next character
@@ -34,6 +35,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
   noted by stsp@  Sat, 24 Apr 2010 09:17:55 +0200
   reminded by nicm@  Mon, 3 May 2010 09:52:41 +0100
 
+- implement blank `Bl -column', such as
+  .Bl -column
+  .It foo Ta bar
+  .El
 
-- FIXED OpenBSD term.h 1.16 term.c 1.30 mdoc_term.c 1.75 schwarze 23.4.10
-  handle tab characters outside literal context, e.g. usb(4)
-  reported by jmc@  Mon, 19 Apr 2010 07:42:12 +0100
-  NEEDS MERGING TO bsd.lv
+- explicitly disallow nested `Bl -column', which would clobber internal
+  flags defined for struct mdoc_macro
 
-- FIXED OpenBSD man.h 1.15 libman.h 1.16 man_hash.c 1.9 
-  man.c 1.25 man_macro.c 1.15 man_validate.c 1.19 man_action.c 1.15 
-  man_term.c 1.28 man_html.c 1.9 schwarze 25.4.
-  implement .if .ie .el
-  noticed by espie@  Fri, 23 Apr 2010 17:10:35 +0200
-  NEEDS MERGING TO bsd.lv
+- set a meaningful default if no `Bl' list type is assigned
 
+- have a blank `It' head for `Bl -tag' not puke
 
+- ignore horrendous m[] font colouring
+  reported by J.C. Roberts
+  
 ************************************************************************
 * formatting issues: ugly output
 ************************************************************************
@@ -70,9 +74,6 @@
         or by enclosing
   reported by jmc Tue, 13 Apr 2010 08:48:14 +0100
 
-- do not break the line after "--", it's probably a long option
-  reminded by stsp in net/pptp pptp.8  Fri, 23 Apr 2010 20:32:39 +0200
-
 - URGENT, this is making many kernel manuals look bad:
   .Ft/.Fn should MAYBE behave in custom section like in SYNOPSIS?
   autoconf.9:
   try e.g. .Bl -column It Ta Ta
   reported by millert Fri, 02 Apr 2010 16:13:46 -0400
 
-- nroff inserts a space before :, mandoc doesn't:
-    .Dl expr "/$a" Li : '.*/\e(.*\e)'
-
 ************************************************************************
 * formatting issues: gratuitious differences
 ************************************************************************
 
-- lines containing blank characters, and nothing else,
+- 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
 
 
 ************************************************************************
 
 - OpenBSD::PackageName(3p) has "if (block) 90:1" in the parse tree
 
+************************************************************************
+* performance issues
+************************************************************************
+
+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)