DESCRIPTION
mdocml is a suite of tools compiling -mdoc , the roff macro package
of choice for BSD manual pages, and -man , the predominant historical package for UNIX
manuals. The mission of mdocml is to deprecate groff, the GNU roff implementation, for
displaying -mdoc pages whilst providing token support for -man.
Why? groff amounts to over 5 MB of source code, most of which is C++ and all of which is GPL. It runs
slowly, produces uncertain output, and varies in operation from system to system. mdocml strives to fix
this (respectively small, C, ISC-licensed, fast and regular).
The core of mdocml is composed of the libmdoc, libman, and libroff 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 mandoc, which formats
manuals for display.
The mdocml suite is a BSD.lv
Project member.
|
SOURCES
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 @VERSION@, dated @VDATE@. A full ChangeLog (txt) is written with each release.
Current
Downstream
Historical
|
CONTACT
For all issues related to mdocml, contact Kristaps Dzonsons, kris...@bsd.lv.
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.
disc...@mdocml.bsd.lv
|
high-level discussions and version announcements |
tec...@mdocml.bsd.lv
|
low-level discussions |
sou...@mdocml.bsd.lv
|
source commit messages |
|
NEWS
xx-05-2010 |
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:
- a libroff preprocessor in front of libmdoc and libman stripping out
roff instructions;
- end-of-sentence (EOS) detection in free-form and macro lines;
- correct handling of tab-separated columnar lists in -mdoc;
- improved main calling routines to optionally use mmap() for better
performance;
- cleaned up exiting when invoked as -Tlint or over
multiple files with -fign-errors;
- error and warning message handling re-written to be unified for libroff, libmdoc, and libman;
- handling of badly-nested explicit-scoped macros;
- improved free-form text parsing in libman and libmdoc;
- significant GNU troff compatibility improvements in -Tascii, largely in terms of spacing;
- a regression framework for making sure the many fragilities of GNU troff
aren't trampled in subsequent work;
- support for -Tascii breaking at hyphens
encountered in free-form text;
- and many more minor fixes and improvements (no really, consult cvsweb and see
for yourself!).
Version: 1.10.0.
|
13-05-2010 |
Fixed handling of \*(Ba escape. Backed out -fno-ign-chars (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
end-of-sentence, end-of-line rule. This is a stable roll-back point
before the mandoc hackathon in Rostock!
Version: 1.9.25.
|
09-05-2010 |
Rolled back break-at-hyphen. -DUGLY 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, mdocml is the focus of two Google Summer of Code
projects this year: mandoc -Tps
(NetBSD) and BSD-licensed
Text-Processing Tools (FreeBSD).
Version: 1.9.24.
|
07-04-2010 |
mdocml has been linked to the OpenBSD build. 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 -Thtml have been fixed, which
prompted an update to the online manual pages style
layout. Version: 1.9.23.
|
|
See
cvsweb
for historical notes.
|
|