- 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
+
+ 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 are the libmdoc and libman 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 mandoc, which
- formats manuals for display on the terminal.
-
-
-
-
-
-
- INSTALLING SOURCES
-
+
+ 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.
+
-
- Sources correctly build and install on FreeBSD, OpenBSD, NetBSD and Linux operating systems, tested
- variously on i386, AMD64, alpha and others. The most current version is @VERSION@, dated @VDATE@.
-
+ 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.
+
-
- CVS sources are checkedout and snapshotted with version updates. These (and all historical snapshots)
- may be found in the /snapshots/ directory. A full ChangeLog is written with each new snapshot.
-
+ 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.
+
- For all issues related to mdocml, contact Kristaps, kris...@kth.se.
-
+
+
+ 29-05-2010:
+ version 1.10.0
+
+
+ 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:
+
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!).
+
+
+
+
+ 13-05-2010:
+ version 1.9.25
+
+
+ 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!
+
+
+
+
+ 09-05-2010:
+ version 1.9.24
+
+
+ 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).
+
+
-
- If you want to receive a semi-automated mail-out of new versions, then please write with a message
- subject of “subscribe mdocml” (or, symmetrically, “unsubscribe mdocml”).
-
-
-
- We don't yet offer anonymous CVS access. If you must have read-only access to the CVS tree (for
- down-stream maintenance and so on), then please contact Kristaps directly for a read-only CVS account.
- We strongly suggest using snapshots, instead.
-
+ 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 onlinemanualpages style
+ layout.
+