version 1.64, 2010/05/09 21:19:42 |
version 1.75, 2010/05/29 19:45:08 |
|
|
<DIV CLASS="head"> |
<DIV CLASS="head"> |
<B>mdocml</B> – mdoc macro compiler |
<B>mdocml</B> – mdoc macro compiler |
</DIV> |
</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> |
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD VALIGN="top"> |
<TD VALIGN="top"> |
<H1> |
<H1> |
DESCRIPTION |
<A NAME="description">DESCRIPTION</A> |
</H1> |
</H1> |
|
|
<P> |
<P> |
|
|
</P> |
</P> |
|
|
<P> |
<P> |
The core of <SPAN CLASS="nm">mdocml</SPAN> is composed of the <i>libmdoc</i> and <i>libman</i> |
The core of <SPAN CLASS="nm">mdocml</SPAN> is composed of the <A HREF="mdoc.3.html">libmdoc</A>, <A |
validating compiler libraries. Both are simple, fast libraries operating on memory buffers, so they may |
HREF="man.3.html">libman</A>, and <A HREF="roff.3.html">libroff</A> validating compiler libraries. All |
be used for a variety of front-ends (terminal-based, CGI and so on). The primary front-end is <i> |
are simple, fast libraries operating on memory buffers, so they may be used for a variety of front-ends |
mandoc</i>, which formats manuals for display on the terminal. |
(terminal-based, CGI and so on). The front-end is <A HREF="mandoc.1.html">mandoc</A>, which formats |
|
manuals for display. |
</P> |
</P> |
|
|
<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. |
Project</A> member. |
</P> |
</P> |
</TD> |
</TD> |
|
|
<TR> |
<TR> |
<TD> |
<TD> |
<H1> |
<H1> |
SOURCES |
<A NAME="sources">SOURCES</A> |
</H1> |
</H1> |
|
|
<P> |
<P> |
Sources correctly build and install on DragonFly BSD, FreeBSD, OpenBSD, NetBSD, and GNU/Linux operating |
Sources correctly build and install on DragonFly BSD, FreeBSD, OpenBSD, NetBSD, GNU/Linux, and many |
systems, tested variously on i386, AMD64, alpha, and others. The most current version is <SPAN |
other operating systems, tested variously on i386, AMD64, alpha, and others. The most current version |
CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. A full <A |
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. |
HREF="ChangeLog.html">ChangeLog</A> (<A HREF="ChangeLog.txt">txt</A>) is written with each release. |
</P> |
</P> |
|
|
|
|
<TR> |
<TR> |
<TD>Online source</TD> |
<TD>Online source</TD> |
<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> |
</TD> |
</TR> |
</TR> |
</TBODY> |
</TBODY> |
|
|
<TR> |
<TR> |
<TD> |
<TD> |
<H1> |
<H1> |
DOCUMENTATION |
<A NAME="documentation">DOCUMENTATION</A> |
</H1> |
</H1> |
|
|
<P> |
<P> |
|
|
<COL> |
<COL> |
<TBODY> |
<TBODY> |
<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> |
|
</TR> |
|
<TR> |
|
<TD><A HREF="man.7.html">man(7)</A> (<A HREF="man.7.txt">text</A>)</TD> |
|
<TD>man language reference</TD> |
|
</TR> |
|
<TR> |
<TD><A HREF="mandoc.1.html">mandoc(1)</A> (<A HREF="mandoc.1.txt">text</A>)</TD> |
<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>format and display UNIX manuals</TD> |
</TR> |
</TR> |
|
|
<TD>mandoc special characters</TD> |
<TD>mandoc special characters</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD><A HREF="mdoc.7.html">mdoc(7)</A> (<A HREF="mdoc.7.txt">text</A>)</TD> |
|
<TD>mdoc language reference</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> |
|
</TR> |
|
<TR> |
|
<TD><A HREF="manuals.7.html">manuals(7)</A> (<A HREF="manuals.7.txt">text</A>)</TD> |
<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>a guide to writing UNIX manuals</TD> |
</TR> |
</TR> |
|
|
<TD>mdoc macro compiler library</TD> |
<TD>mdoc macro compiler library</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD><A HREF="man.3.html">man(3)</A> (<A HREF="man.3.txt">text</A>)</TD> |
<TD><A HREF="mdoc.7.html">mdoc(7)</A> (<A HREF="mdoc.7.txt">text</A>)</TD> |
<TD>man macro compiler library</TD> |
<TD>mdoc language reference</TD> |
</TR> |
</TR> |
|
<TR> |
|
<TD><A HREF="roff.3.html">roff(3)</A> (<A HREF="roff.3.txt">text</A>)</TD> |
|
<TD>roff macro compiler library</TD> |
|
</TR> |
|
<TR> |
|
<TD><A HREF="roff.7.html">roff(7)</A> (<A HREF="roff.7.txt">text</A>)</TD> |
|
<TD>roff-mandoc language reference</TD> |
|
</TR> |
</TBODY> |
</TBODY> |
</TABLE> |
</TABLE> |
</TD> |
</TD> |
|
|
<TR> |
<TR> |
<TD> |
<TD> |
<H1> |
<H1> |
CONTACT |
<A NAME="contact">CONTACT</A> |
</H1> |
</H1> |
|
|
<P> |
<P> |
|
|
</P> |
</P> |
|
|
<P> |
<P> |
You may also subscribe to several mailing lists (these require subscription, which is moderated): |
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> |
</P> |
|
|
<TABLE WIDTH="100%" SUMMARY="Mailing Lists"> |
<TABLE WIDTH="100%" SUMMARY="Mailing Lists"> |
|
|
disc<A CLASS="external" TITLE="Reveal this e-mail address" |
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> |
<TD>discussions and announcements</TD> |
<TD>high-level discussions and version announcements</TD> |
</TR> |
</TR> |
<!--<TR> |
<TR> |
<TD> |
<TD> |
|
tec<A CLASS="external" TITLE="Reveal this e-mail address" |
|
HREF="http://www.google.com/recaptcha/mailhide/d?k=014mgcCKFE_qqo9NLETCAiEA==&c=-y6beh3b_SMDe6Iauc3PW-c1wlVbRqYJdj1RETN9WMs=">...</a>@mdocml.bsd.lv |
|
</TD> |
|
<TD>low-level discussions</TD> |
|
</TR> |
|
<TR> |
|
<TD> |
sou<A CLASS="external" TITLE="Reveal this e-mail address" |
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> |
<TD>source commit messages</TD> |
<TD>source commit messages</TD> |
</TR>--> |
</TR> |
</TBODY> |
</TBODY> |
</TABLE> |
</TABLE> |
</TD> |
</TD> |
|
|
<TR> |
<TR> |
<TD> |
<TD> |
<H1> |
<H1> |
NEWS |
<A NAME="news">NEWS</A> |
</H1> |
</H1> |
|
|
<TABLE WIDTH="100%" CELLPADDING="2"> |
<DIV CLASS="news"> |
<COL CLASS="date"> |
<P> |
<TBODY> |
<SPAN CLASS="date">29-05-2010</SPAN>: |
<TR> |
version 1.10.0 |
<TD VALIGN="top"><SPAN CLASS="date">09-05-2010</SPAN></TD> |
</P> |
<TD VALIGN="top"> |
<P> |
Fixed handling of <Q>\*(Ba</Q> escape. Backed out <SPAN |
Release consisting of the results from the m2k10 hackathon and up-merge from OpenBSD. |
CLASS="flag">-fno-ign-chars</SPAN> (pointless complexity). |
This requires a significant note of thanks to Ingo Schwarze (OpenBSD) and Joerg |
Version: <SPAN CLASS="rev">1.9.24</SPAN>. |
Sonnenberger (NetBSD) for their hard work, and again to Joerg for hosting m2k10. |
</TR> |
Highlights (mostly cribbed from Ingo's m2k10 report) follow in no particular order: |
<TR> |
</P> |
<TD VALIGN="top"><SPAN CLASS="date">09-05-2010</SPAN></TD> |
<UL> |
<TD VALIGN="top"> |
<LI>a <A HREF="roff.3.html">libroff</A> preprocessor in front of <A |
Rolled back break-at-hyphen. <SPAN CLASS="flag">-DUGLY</SPAN> is now the |
HREF="mdoc.3.html">libmdoc</A> and <A HREF="man.3.html">libman</A> stripping out |
default (no feature splits!). Free-form text is not de-chunked any more: lines |
<A HREF="roff.7.html">roff</A> instructions;</LI> |
are passed whole-sale into the front-end, including whitespace. Added mailing |
<LI>end-of-sentence (EOS) detection in free-form and macro lines;</LI> |
lists. Lastly, <SPAN CLASS="nm">mdocml</SPAN> is the focus of two <A |
<LI>correct handling of tab-separated columnar lists in <SPAN |
CLASS="external" HREF="http://socghop.appspot.com/">Google Summer of Code</A> |
CLASS="flag">-mdoc</SPAN>;</LI> |
projects this year: <Q><A CLASS="external" |
<LI>improved main calling routines to optionally use mmap() for better |
HREF="http://netbsd-soc.sourceforge.net/projects/mandoc_ps/">mandoc -Tps</A></Q> |
performance;</LI> |
(NetBSD) and <Q><A CLASS="external" |
<LI>cleaned up exiting when invoked as <SPAN CLASS="flag">-Tlint</SPAN> or over |
HREF="http://wiki.freebsd.org/SummerOfCode2010Projects">BSD-licensed |
multiple files with <SPAN CLASS="flag">-fign-errors</SPAN>;</LI> |
Text-Processing Tools</A></Q> (FreeBSD). |
<LI>error and warning message handling re-written to be unified for <A |
Version: <SPAN CLASS="rev">1.9.24</SPAN>. |
HREF="roff.3.html">libroff</A>, <A HREF="mdoc.3.html">libmdoc</A>, and <A |
</TD> |
HREF="man.3.html">libman</A>;</LI> |
</TR> |
<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> |
|
|
<TR> |
<DIV CLASS="news"> |
<TD VALIGN="top"><SPAN CLASS="date">07-04-2010</SPAN></TD> |
<P> |
<TD VALIGN="top"> |
<SPAN CLASS="date">07-04-2010</SPAN>: |
<SPAN CLASS="nm">mdocml</SPAN> has been linked to the <A CLASS="external" |
version 1.9.23 |
HREF="http://www.openbsd.org/faq/current.html#20100403">OpenBSD build</a>. This |
</P> |
version incorporates many small changes, mostly from patches by OpenBSD, |
<P> |
allowing crufty manuals to slip by with warnings instead of erroring-out. Some |
<SPAN CLASS="nm">mdocml</SPAN> has been linked to the <A CLASS="external" |
subtle semantic issues, such as punctuation scope, have also been fixed. |
HREF="http://www.openbsd.org/faq/current.html#20100403">OpenBSD build</a>. This |
Lastly, some issues with <SPAN CLASS="flag">-Thtml</SPAN> have been fixed, which |
version incorporates many small changes, mostly from patches by OpenBSD, |
prompted an update to the <A HREF="mandoc.1.html">online</A> <A |
allowing crufty manuals to slip by with warnings instead of erroring-out. Some |
HREF="mandoc_char.7.html">manual</A> <A HREF="man.7.html">pages</A> style |
subtle semantic issues, such as punctuation scope, have also been fixed. |
layout. Version: <SPAN CLASS="rev">1.9.23</SPAN>. |
Lastly, some issues with <SPAN CLASS="flag">-Thtml</SPAN> have been fixed, which |
</TD> |
prompted an update to the <A HREF="mandoc.1.html">online</A> <A |
</TR> |
HREF="mandoc_char.7.html">manual</A> <A HREF="man.7.html">pages</A> style |
<TR> |
layout. |
<TD VALIGN="top"><SPAN CLASS="date">31-03-2010</SPAN></TD> |
</P> |
<TD VALIGN="top"> |
</DIV> |
Version <SPAN CLASS="rev">1.9.22</SPAN>: adjusted merge of the significant work |
<P> |
by Ingo Schwarze in getting <Q>Xo</Q> blocks (block full implicit, e.g., |
See <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A> for |
<Q>It</Q> for non-columnar lists) to work properly. This isn't enabled by |
historical notes. |
default: you must specify <SPAN CLASS="flag">-DUGLY</SPAN> as a compiler flag |
</P> |
(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> |
|
</TD> |
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |