mandoc and roff toolchain Baptiste Daroussin bapt@FreeBSD.org Heirloom's doctools mandoc

mandoc is a suite of tools compiling mdoc, the roff macro language of choice for BSD manual pages.

mandoc is the default renderer for manpages on head. This quarterly the 'apropos(1)' utility was switched to mandoc's version which offers a new database format (in sqlite) bringing way more powerful fine grain option to search manpages.

While mandoc is very good for manpages, we also provide lots of other documentation in plain roff format. The heirloom toolchain is being studied to replace groff in base. Heirloom nroff toolchain has multiple benefits: it has very good unicode support, very good compatibility with groff.

Lots of work as been done testing the heirloom nroff toolchain with all in base documentation (including manpages) and upstream has been very proactive in fixing reported bugs.

The 'soelim(1)' utility has been replaced with a BSD license version which is good enough to play with all available roff toolchains (to ease transition). Note that now this version of the 'soelim(1)' utility is part of the mandoc tool suite.

The 'col(1)' utility has been cleaned up and updated to recognize both SUSv2-style escape-digit and BSD-style escape-control-char sequences in the input stream (in coordination with Ingo Schwarze - OpenBSD)

The 'checknr(1)' utility has been cleanup and extended to support modern 'roff(7)' (including synchronizing code from NetBSD and heirloom's version)

Lots of roff fixes in documentation and manpages