<DIV CLASS="head">
<B>mdocml</B> – mdoc macro compiler
</DIV>
+ <DIV CLASS="subhead">
+ <A HREF="#description">Description</A> |
+ <A HREF="#sources">Sources</A> |
+ <A HREF="#documentation">Documentation</A> |
+ <A HREF="#contact">Contact</A> |
+ <A HREF="#news">News</A>
+ </DIV>
</TD>
</TR>
<TR>
<TD VALIGN="top">
<H1>
- DESCRIPTION
+ <A NAME="description">DESCRIPTION</A>
</H1>
<P>
</P>
<P>
- The core of <SPAN CLASS="nm">mdocml</SPAN> is composed of the <i>libmdoc</i> and <i>libman</i>
- validating compiler libraries. Both are simple, fast libraries operating on memory buffers, so they may
- be used for a variety of front-ends (terminal-based, CGI and so on). The primary front-end is <i>
- mandoc</i>, which formats manuals for display on the terminal.
+ The core of <SPAN CLASS="nm">mdocml</SPAN> is composed of the <A HREF="mdoc.3.html">libmdoc</A>, <A
+ HREF="man.3.html">libman</A>, and <A HREF="roff.3.html">libroff</A> validating compiler libraries. All
+ are simple, fast libraries operating on memory buffers, so they may be used for a variety of front-ends
+ (terminal-based, CGI and so on). The front-end is <A HREF="mandoc.1.html">mandoc</A>, which formats
+ manuals for display.
</P>
<P>
- The <SPAN CLASS="nm">mdocml</SPAN> utility is a <A CLASS="external" HREF="http://bsd.lv/">BSD.lv
+ The <SPAN CLASS="nm">mdocml</SPAN> suite is a <A CLASS="external" HREF="http://bsd.lv/">BSD.lv
Project</A> member.
</P>
</TD>
<TR>
<TD>
<H1>
- SOURCES
+ <A NAME="sources">SOURCES</A>
</H1>
<P>
- Sources correctly build and install on DragonFly BSD, FreeBSD, OpenBSD, NetBSD, and GNU/Linux operating
- systems, tested variously on i386, AMD64, alpha, and others. The most current version is <SPAN
- CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. A full <A
+ Sources correctly build and install on DragonFly BSD, FreeBSD, OpenBSD, NetBSD, GNU/Linux, and many
+ other operating systems, tested variously on i386, AMD64, alpha, and others. The most current version
+ is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. A full <A
HREF="ChangeLog.html">ChangeLog</A> (<A HREF="ChangeLog.txt">txt</A>) is written with each release.
</P>
<TR>
<TD>Online source</TD>
<TD>
- <A CLASS="external" HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A>
+ <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A>
</TD>
</TR>
</TBODY>
<TR>
<TD>
<H1>
- DOCUMENTATION
+ <A NAME="documentation">DOCUMENTATION</A>
</H1>
<P>
<COL>
<TBODY>
<TR>
- <TD><A HREF="mandoc.1.html">mandoc(1)</A> (<A HREF="mandoc.1.txt">text</A>)</TD>
- <TD>format and display UNIX manuals</TD>
+ <TD VALIGN="top"><A HREF="man.3.html">man(3)</A></TD>
+ <TD VALIGN="top">
+ man macro compiler library
+ <DIV STYLE="font-size: smaller;">
+ <A HREF="man.3.txt">text</A> | <A HREF="man.3.ps">postscript</A>
+ </DIV>
+ </TD>
</TR>
<TR>
- <TD><A HREF="mandoc_char.7.html">mandoc_char(7)</A> (<A HREF="mandoc_char.7.txt">text</A>)</TD>
- <TD>mandoc special characters</TD>
+ <TD VALIGN="top"><A HREF="man.7.html">man(7)</A></TD>
+ <TD VALIGN="top">
+ man language reference
+ <DIV STYLE="font-size: smaller;">
+ <A HREF="man.7.txt">text</A> | <A HREF="man.7.ps">postscript</A>
+ </DIV>
+ </TD>
</TR>
<TR>
- <TD><A HREF="mdoc.7.html">mdoc(7)</A> (<A HREF="mdoc.7.txt">text</A>)</TD>
- <TD>mdoc language reference</TD>
+ <TD VALIGN="top"><A HREF="mandoc.1.html">mandoc(1)</A></TD>
+ <TD VALIGN="top">
+ format and display UNIX manuals
+ <DIV STYLE="font-size: smaller;">
+ <A HREF="mandoc.1.txt">text</A> | <A HREF="mandoc.1.ps">postscript</A>
+ </DIV>
+ </TD>
</TR>
<TR>
- <TD><A HREF="man.7.html">man(7)</A> (<A HREF="man.7.txt">text</A>)</TD>
- <TD>man language reference</TD>
+ <TD VALIGN="top"><A HREF="mandoc_char.7.html">mandoc_char(7)</A></TD>
+ <TD VALIGN="top">
+ mandoc special characters
+ <DIV STYLE="font-size: smaller;">
+ <A HREF="mandoc_char.7.txt">text</A> | <A HREF="mandoc_char.7.ps">postscript</A>
+ </DIV>
+ </TD>
</TR>
<TR>
- <TD><A HREF="manuals.7.html">manuals(7)</A> (<A HREF="manuals.7.txt">text</A>)</TD>
- <TD>a guide to writing UNIX manuals</TD>
+ <TD VALIGN="top"><A HREF="mdoc.3.html">mdoc(3)</A></TD>
+ <TD VALIGN="top">
+ mdoc macro compiler library
+ <DIV STYLE="font-size: smaller;">
+ <A HREF="mdoc.3.txt">text</A> | <A HREF="mdoc.3.ps">postscript</A>
+ </DIV>
+ </TD>
</TR>
<TR>
- <TD><A HREF="mdoc.3.html">mdoc(3)</A> (<A HREF="mdoc.3.txt">text</A>)</TD>
- <TD>mdoc macro compiler library</TD>
+ <TD VALIGN="top"><A HREF="mdoc.7.html">mdoc(7)</A></TD>
+ <TD VALIGN="top">
+ mdoc language reference
+ <DIV STYLE="font-size: smaller;">
+ <A HREF="mdoc.7.txt">text</A> | <A HREF="mdoc.7.ps">postscript</A>
+ </DIV>
+ </TD>
</TR>
<TR>
- <TD><A HREF="man.3.html">man(3)</A> (<A HREF="man.3.txt">text</A>)</TD>
- <TD>man macro compiler library</TD>
+ <TD VALIGN="top"><A HREF="roff.3.html">roff(3)</A></TD>
+ <TD VALIGN="top">
+ roff macro compiler library
+ <DIV STYLE="font-size: smaller;">
+ <A HREF="roff.3.txt">text</A> | <A HREF="roff.3.ps">postscript</A>
+ </DIV>
+ </TD>
+ </TR>
+ <TR>
+ <TD VALIGN="top"><A HREF="roff.7.html">roff(7)</A></TD>
+ <TD VALIGN="top">
+ roff-mandoc language reference
+ <DIV STYLE="font-size: smaller;">
+ <A HREF="roff.7.txt">text</A> | <A HREF="roff.7.ps">postscript</A>
+ </DIV>
+ </TD>
</TR>
</TBODY>
</TABLE>
+
+ <P>
+ See <Q><A CLASS="external" HREF="http://manpages.bsd.lv">Writing UNIX Manual Pages</A></Q> for a general
+ introduction to manpages and mdoc.
</TD>
</TR>
<TR>
<TD>
<H1>
- CONTACT
+ <A NAME="contact">CONTACT</A>
</H1>
<P>
</P>
<P>
- You may also subscribe to several mailing lists (these require subscription):
+ You may also subscribe to several mailing lists (these require subscription, which is moderated). An
+ archive is not yet available on-line, although you may request one once subscribed.
</P>
<TABLE WIDTH="100%" SUMMARY="Mailing Lists">
<TR>
<TD>
disc<A CLASS="external" TITLE="Reveal this e-mail address"
- HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</a>@mdocml.bsd.lv
+ HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</A>@mdocml.bsd.lv
</TD>
- <TD>discussions and announcements</TD>
+ <TD>high-level discussions and version announcements</TD>
+ </TR>
+ <TR>
+ <TD>
+ tec<A CLASS="external" TITLE="Reveal this e-mail address"
+ HREF="http://www.google.com/recaptcha/mailhide/d?k=01qDX_iV0RlUOarEvb6mR28g==&c=gRXsTjza0NNCFPaYu-Taj2tF0pmYZSc90EZkFkhkxgo=">...</A>@mdocml.bsd.lv
+ </TD>
+ <TD>low-level discussions</TD>
</TR>
<TR>
<TD>
sou<A CLASS="external" TITLE="Reveal this e-mail address"
- HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</a>@mdocml.bsd.lv
+ HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</A>@mdocml.bsd.lv
</TD>
<TD>source commit messages</TD>
</TR>
<TR>
<TD>
<H1>
- NEWS
+ <A NAME="news">NEWS</A>
</H1>
-
- <TABLE WIDTH="100%" CELLPADDING="2">
- <COL CLASS="date">
- <TBODY>
- <TR>
- <TD VALIGN="top"><SPAN CLASS="date">09-05-2010</SPAN></TD>
- <TD VALIGN="top">
- Rolled back break-at-hyphen. <SPAN CLASS="flag">-DUGLY</SPAN> is now the
- default (no feature splits!). Free-form text is not de-chunked any more: lines
- are passed whole-sale into the front-end, including whitespace. Added mailing
- lists. Lastly, <SPAN CLASS="nm">mdocml</SPAN> is the focus of two <A
- CLASS="external" HREF="http://socghop.appspot.com/">Google Summer of Code</A>
- projects this year: <Q><A CLASS="external"
- HREF="http://netbsd-soc.sourceforge.net/projects/mandoc_ps/">mandoc -Tps</A></Q>
- (NetBSD) and <Q><A CLASS="external"
- HREF="http://wiki.freebsd.org/SummerOfCode2010Projects">BSD-licensed
- Text-Processing Tools</A></Q> (FreeBSD).
- Version: <SPAN CLASS="rev">1.9.24</SPAN>.
- </TD>
- </TR>
-
- <TR>
- <TD VALIGN="top"><SPAN CLASS="date">07-04-2010</SPAN></TD>
- <TD VALIGN="top">
- <SPAN CLASS="nm">mdocml</SPAN> has been linked to the <A CLASS="external"
- HREF="http://www.openbsd.org/faq/current.html#20100403">OpenBSD build</a>. This
- version incorporates many small changes, mostly from patches by OpenBSD,
- allowing crufty manuals to slip by with warnings instead of erroring-out. Some
- subtle semantic issues, such as punctuation scope, have also been fixed.
- Lastly, some issues with <SPAN CLASS="flag">-Thtml</SPAN> have been fixed, which
- prompted an update to the <A HREF="mandoc.1.html">online</A> <A
- HREF="mandoc_char.7.html">manual</A> <A HREF="man.7.html">pages</A> style
- layout. Version: <SPAN CLASS="rev">1.9.23</SPAN>.
- </TD>
- </TR>
- <TR>
- <TD VALIGN="top"><SPAN CLASS="date">31-03-2010</SPAN></TD>
- <TD VALIGN="top">
- Version <SPAN CLASS="rev">1.9.22</SPAN>: adjusted merge of the significant work
- by Ingo Schwarze in getting <Q>Xo</Q> blocks (block full implicit, e.g.,
- <Q>It</Q> for non-columnar lists) to work properly. This isn't enabled by
- default: you must specify <SPAN CLASS="flag">-DUGLY</SPAN> as a compiler flag
- (see the Makefile for details).
- </TD>
- </TR>
- <TR>
- <TD VALIGN="top"><SPAN CLASS="date">30-03-2010</SPAN></TD>
- <TD VALIGN="top">
- Version <SPAN CLASS="rev">1.9.20</SPAN>: more efforts to get roff instructions
- in -man documents under control. Note that roff instructions embedded in
- line-scoped, next-line macros (e.g. <Q>B</Q>) are not supported. Leading
- punctuation for -mdoc macros, such as <Q>Fl ( ( a</Q>, are now correctly
- handled.
- </TD>
- </TR>
- <TR>
- <TD VALIGN="top"><SPAN CLASS="date">27-03-2010</SPAN></TD>
- <TD VALIGN="top">
- Version <SPAN CLASS="rev">1.9.18</SPAN>: many fixes (largely pertaining to
- scope) and improvements (e.g., handling of apostrophe-control macros, which
- fixes the strange <Q>BR</Q> seen in some macro output) to handling roff
- instructions in -man documents.
- </TD>
- </TR>
- <TR>
- <TD VALIGN="top"><SPAN CLASS="date">25-03-2010</SPAN></TD>
- <TD VALIGN="top">
- Version <SPAN CLASS="rev">1.9.17</SPAN> highlights: accept <A
- HREF="http://perldoc.perl.org/" CLASS="external">perlpod</A> standard preamble.
- Also accept (and discard) <Q>de</Q>, <Q>dei</Q>, <Q>am</Q>, <Q>ami</Q>, and
- <Q>ig</Q> roff macro blocks.
- </TD>
- </TR>
- <TR>
- <TD VALIGN="top"><SPAN CLASS="date">22-03-2010</SPAN></TD>
- <TD VALIGN="top">
- Version <SPAN CLASS="rev">1.9.16</SPAN> highlights: inspired by patches and bug
- reports by Ingo Schwarze, allowed <SPAN CLASS="flag">-man</SPAN> to accept
- non-printing elements to be nested within next-line scopes, such as <Q>br</Q>
- within <Q>B</Q> or <Q>TH</Q>, which is valid roff. Longsoon architecture also
- noted and Makefile cleaned up.
- </TD>
- </TR>
- <TR>
- <TD VALIGN="top"><SPAN CLASS="date">18-02-2010</SPAN></TD>
- <TD VALIGN="top">
- Moved to our new <A HREF="http://bsd.lv" CLASS="external">BSD.lv</A> home.
- Version <SPAN CLASS="rev">1.9.15</SPAN> highlights: XHTML is now an acceptable
- output mode for <A HREF="mandoc.1.html">mandoc(1)</A>; <Q>Xr</Q> made more
- compatible with groff; <Q>Vt</Q> fixed when invoked in SYNOPSIS; <Q>\\</Q>
- escape removed; end-of-line white-space detected for all lines; subtle bug
- fixed in list display for some modes; compatibility layer checked in for
- compilation in diverse UNIX systems; and column lengths handled correctly.
- </TD>
- </TR>
- </TBODY>
- </TABLE>
+ <DIV CLASS="news">
+ <P>
+ <SPAN CLASS="date">07-06-2010</SPAN>:
+ version 1.10.1
+ </P>
+ <P>
+ This primarily focusses on the <Q>Bl</Q> and <Q>It</Q> macros described in <A
+ HREF="mdoc.7.html">mdoc</A>. Multi-line column support is now fully compatible with
+ groff, as are implicit list entries for columns. Removed manuals.7 in favour of <A
+ CLASS="external" HREF="http://manpages.bsd.lv">http://manpages.bsd.lv</A>. The way we
+ handle the SYNOPSIS section (see the SYNOPSIS documentation in <A
+ HREF="mdoc.7.html#x4d414e55414cx20x535452554354555245">MANUAL STRUCTURE</A>) has also
+ been considerably simplified compared to groff's method. Furthermore, the <SPAN
+ CLASS="flag">-Owidth=width</SPAN> output option has been added to <SPAN
+ CLASS="flag">-Tascii</SPAN> (see <A HREF="mandoc.1.html">mandoc</A>). Lastly, initial
+ PostScript output has been added with the <SPAN CLASS="flag">-Tps</SPAN> option to <A
+ HREF="mandoc.1.html">mandoc</A>. It's brutally simple at the moment: fixed-font, with
+ no font decorations.
+ </P>
+ </DIV>
+ <DIV CLASS="news">
+ <P>
+ <SPAN CLASS="date">29-05-2010</SPAN>:
+ version 1.10.0
+ </P>
+ <P>
+ Release consisting of the results from the m2k10 hackathon and up-merge from OpenBSD.
+ This requires a significant note of thanks to Ingo Schwarze (OpenBSD) and Joerg
+ Sonnenberger (NetBSD) for their hard work, and again to Joerg for hosting m2k10.
+ Highlights (mostly cribbed from Ingo's m2k10 report) follow in no particular order:
+ </P>
+ <UL>
+ <LI>a <A HREF="roff.3.html">libroff</A> preprocessor in front of <A
+ HREF="mdoc.3.html">libmdoc</A> and <A HREF="man.3.html">libman</A> stripping out
+ <A HREF="roff.7.html">roff</A> instructions;</LI>
+ <LI>end-of-sentence (EOS) detection in free-form and macro lines;</LI>
+ <LI>correct handling of tab-separated columnar lists in <SPAN
+ CLASS="flag">-mdoc</SPAN>;</LI>
+ <LI>improved main calling routines to optionally use mmap() for better
+ performance;</LI>
+ <LI>cleaned up exiting when invoked as <SPAN CLASS="flag">-Tlint</SPAN> or over
+ multiple files with <SPAN CLASS="flag">-fign-errors</SPAN>;</LI>
+ <LI>error and warning message handling re-written to be unified for <A
+ HREF="roff.3.html">libroff</A>, <A HREF="mdoc.3.html">libmdoc</A>, and <A
+ HREF="man.3.html">libman</A>;</LI>
+ <LI>handling of badly-nested explicit-scoped macros;</LI>
+ <LI>improved free-form text parsing in <A HREF="man.3.html">libman</A> and <A
+ HREF="mdoc.3.html">libmdoc</A>;</LI>
+ <LI>significant GNU troff compatibility improvements in <SPAN
+ CLASS="flag">-Tascii</SPAN>, largely in terms of spacing;</LI>
+ <LI>a regression framework for making sure the many fragilities of GNU troff
+ aren't trampled in subsequent work;</LI>
+ <LI>support for <SPAN CLASS="flag">-Tascii</SPAN> breaking at hyphens
+ encountered in free-form text;</LI>
+ <LI>and many more minor fixes and improvements (no really, consult <A
+ HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A> and see
+ for yourself!).</LI>
+ </UL>
+ </DIV>
+ <DIV CLASS="news">
+ <P>
+ <SPAN CLASS="date">13-05-2010</SPAN>:
+ version 1.9.25
+ </P>
+ <P>
+ Fixed handling of <Q>\*(Ba</Q> escape. Backed out <SPAN
+ CLASS="flag">-fno-ign-chars</SPAN> (pointless complexity). Fixed erroneous
+ breaking of literal lines. Fixed SYNOPSIS breaking lines before non-initial
+ macros. Changed default section ordering. Most importantly, the framework for
+ end-of-sentence double-spacing is in place, now implemented for the
+ <Q>end-of-sentence, end-of-line</Q> rule. This is a stable roll-back point
+ before the mandoc hackathon in Rostock!
+ </P>
+ </DIV>
+ <DIV CLASS="news">
+ <P>
+ <SPAN CLASS="date">09-05-2010</SPAN>:
+ version 1.9.24
+ </P>
+ <P>
+ Rolled back break-at-hyphen. <SPAN CLASS="flag">-DUGLY</SPAN> is now the
+ default (no feature splits!). Free-form text is not de-chunked any more: lines
+ are passed whole-sale into the front-end, including whitespace. Added mailing
+ lists. Lastly, <SPAN CLASS="nm">mdocml</SPAN> is the focus of two <A
+ CLASS="external" HREF="http://socghop.appspot.com/">Google Summer of Code</A>
+ projects this year: <Q><A CLASS="external"
+ HREF="http://netbsd-soc.sourceforge.net/projects/mandoc_ps/">mandoc -Tps</A></Q>
+ (NetBSD) and <Q><A CLASS="external"
+ HREF="http://wiki.freebsd.org/SummerOfCode2010Projects">BSD-licensed
+ Text-Processing Tools</A></Q> (FreeBSD).
+ </P>
+ </DIV>
+ <P>
+ See <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A> for
+ historical notes.
+ </P>
</TD>
</TR>
<TR>
<TD>
<DIV CLASS="foot">
- Copyright © 2008–2010 Kristaps Dzonsons, $Date: 2010/05/09 06:27:41 $
+ Copyright © 2008–2010 Kristaps Dzonsons, $Date: 2010/06/08 09:15:58 $
</DIV>
</TD>
</TR>