version 1.8, 2014/12/13 13:43:47 |
version 1.9, 2015/03/13 12:35:32 |
|
|
|
|
This file lists the most important changes in the mdocml.bsd.lv distribution. |
This file lists the most important changes in the mdocml.bsd.lv distribution. |
|
|
|
Changes in version 1.13.3, released on March 13, 2015 |
|
|
|
--- MAJOR NEW FEATURES --- |
|
* When a manual is missing from an outdated database, let man(1) |
|
show it anyway, using a KISS file system lookup as a fallback. |
|
* Use this to always provide man(1), even without database support. |
|
* Fatal errors no longer exist. If a file can be opened, mandoc |
|
will produce some output; at worst, the output may be almost empty. |
|
* New -Wunsupp message level. |
|
--- POTENTIONALLY SECURITY RELEVANT BUGFIXES --- |
|
* Fix a potential write buffer overrun on incomplete string conditionals. |
|
http://mdocml.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.241 |
|
* Fix a potential write buffer overrun on backslash at EOF in a conditional. |
|
http://mdocml.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.247 |
|
* Fix a use after free sometimes hit when validation deletes a block. |
|
http://mdocml.bsd.lv/cgi-bin/cvsweb/mdoc_macro.c#rev1.180 |
|
--- MAJOR FUNCTIONALLY RELEVANT BUGFIXES --- |
|
* Let man(1) show manuals for the current architecture by default, |
|
and support the MACHINE environment variable. |
|
* Fix the man(1) and apropos(1) -m option, it didn't work at all. |
|
* Do not spawn a pager when there is no output. |
|
* In makewhatis(8), fix detection of hardlinked manuals on platforms |
|
having padding in struct inodev (typically 64bit platforms). |
|
--- PORTABILITY IMPROVEMENTS --- |
|
* Ignore O_CLOEXEC when the operating system doesn't provide it. |
|
* Avoid forward reference to enum type which violates ISO C99. |
|
* Support homebrew-style linking on Mac OS X. |
|
--- MINOR NEW FEATURES --- |
|
* lookup: Accept digit+letter and "n" as section names in man(1), |
|
and consistently handle digit+letter in file name extensions. |
|
* lookup: Speed up -s/-S by using the "mlinks" rather than the "keys" table. |
|
* output: Insert horizontal lines between formatted manual pages. |
|
* input: New stricter and more resilient UTF-8 parser. |
|
* mdoc(7): Refactor block rewinding for simpler and more robust parsing. |
|
* man(7): Use the -Ios option when .TH has less than four arguments. |
|
* tbl(7): Implement the "center" option. |
|
* tbl(7): New option and format parsers, improved in many respects. |
|
* roff(7): Basic implementation of the \o escape sequence (overstrike), |
|
and improved rendering of overstrikes in PostScript and PDF output. |
|
* Message improvements, in particular for, but not restricted to, |
|
eqn(7), tbl(7), and wrong numbers of arguments in mdoc(7) and man(7), |
|
in various cases also improving output generated by invalid input. |
|
* Delete the -V option. It serves no purpose but keeps confusing people. |
|
* gmdiff: Minimal support for Heirloom roff. |
|
--- RELIABILITY BUGFIXES --- |
|
* tbl(7): Fix a read buffer overrun on 'f' at EOL in a layout. |
|
* roff(7): Fix a read buffer overrun on incomplete numerical conditions. |
|
* mdoc(7): Fix a NULL pointer access on .Nd followed by an explicit block. |
|
* mdoc(7): Fix a NULL pointer access on .It Xo without .Xc. |
|
* mdoc(7): Fix a NULL pointer access on .Eo without a tail. |
|
* mdoc(7): Fix a NULL pointer access in the validation of empty .St macros. |
|
* man(7)/tbl(7): Fix a NULL pointer access on .TS right after .TP. |
|
* tbl(7): Fix a NULL pointer access on layout lines without any cells. |
|
* eqn(7): Fix NULL pointer accesses in the terminal formatter. |
|
* roff(7): Fix a NULL pointer access on trailing \s-/\s+ without an argument. |
|
* gz: Fix a potential NULL pointer access after waitpid() failure. |
|
* roff(7): Don't let the modulo operator divide by zero. |
|
* input: Fix an assertion failure on certain invalid UTF-8 input. |
|
* terminal output: Allow arbitrary depth of the font stack (assertion fix). |
|
* mdoc(7): Fix assertion failures and endless loops on invalid block closing. |
|
* mdoc(7): Fix an assertion failure on .Bl .Sm not followed by .It. |
|
* mdoc(7): Fix an assertion failure on .Bl -column ... .El .Ta. |
|
* tbl(7): Fix assertion failures by macros inside table data, |
|
but do not throw away the macro arguments. |
|
* Prevent certain kinds of unreasonable input from producing excessive |
|
output, in one case caused by unsigned integer underflow. |
|
* Fix a potential memory leak in makewhatis(8) on very long filenames. |
|
--- MINOR BUGFIXES --- |
|
* mdoc(7): Fix parsing of badly nested blocks with multiple identical blocks. |
|
* mdoc(7): Support negative indentations for displays and lists. |
|
* mdoc(7): Don't mistreat negative .sp arguments as large positive ones. |
|
* mdoc(7): Some spacing fixes for .Eo/.Ec. |
|
* man(7): Support negative horizontal widths. |
|
* man(7): Do not print out invalid .IP arguments. |
|
* man(7): Correctly handle scaling units after .PD. |
|
* man(7): Support .RE with an argument. |
|
* man(7): Fix restoring indentation after .RS with large negative arguments. |
|
* tbl(7): Prevent tables from breaking the filling of preceding text. |
|
* tbl(7): Fix vertical spacing at the beginning of tables. |
|
* tbl(7): Parser and formatter fixes for line drawing and font modifiers. |
|
* tbl(7): Correct handling of blank data lines. |
|
* eqn(7): Add sometimes missing whitespace before equation output. |
|
* roff(7): Fix vertical scaling, most of it was wrong. |
|
* roff(7): Slightly improve \w width measurements. |
|
* roff(7): Accept the historic aliases \s10 to \s39 for \s(10 to \s(39. |
|
* roff(7): Correctly escape quotes when expanding macro arguments. |
|
* roff(7): Correctly handle scaling units in numerical expressions, |
|
and some other improvements to the parsing of numerical expressions. |
|
* roff(7): Three minor fixes with respect to evaluation of conditionals. |
|
* roff(7): Let .it accept numerical expressions, not just constants. |
|
* mandoc_char(7): Correct some character names and renderings. |
|
* If earlier files set a non-zero exit status, never reset it to zero. |
|
--- THANKS TO --- |
|
* Jonathan Gray (OpenBSD) for yet more testing with afl (the American |
|
Fuzzy Lop security fuzzer), again resulting in many bug reports. |
|
* Theo de Raadt (OpenBSD) for suggesting the main new feature (man(1) file |
|
system lookup) and for reporting an important bug (pager without output). |
|
* Theo Buehler for an important bug report (-s/-S slowness) |
|
and for proposing a nice new feature (lines between pages). |
|
* Jason McIntyre for an important bug report (hardlink detection) |
|
and multiple documentation patches. |
|
* Pascal Stumpf (OpenBSD) and Alessandro de Laurenzis for |
|
important bug reports (architecture and man -m, respectively). |
|
* Thomas Klausner (NetBSD) for proposing a new feature (man(7) -Ios), |
|
a bug report, and release testing. |
|
* Anthony Bentley, Daniel Dickman, Ted Unangst (OpenBSD) and |
|
Kristaps Dzonsons (bsd.lv) for source code patches and bug reports. |
|
* Christian Weisgerber (OpenBSD) for more than half a dozen bug reports. |
|
* Carsten Kunze (Heirloom troff) for bug reports and release testing. |
|
* Antoine Jacoutot (OpenBSD) for release testing. |
|
* Alexis Hildebrandt (Homebrew), Baptiste Daroussin (FreeBSD), |
|
Jonathan Perkin (SmartOS), Pedro Giffuni (FreeBSD), Svyatoslav |
|
Mishyn (Crux Linux), Ulrich Spoerlein (FreeBSD), Jan Stary, Patrick |
|
Keshishian, Sebastien Marie, and Steffen Nurpmeso for bug reports. |
|
|
Changes in version 1.13.2, released on December 13, 2014 |
Changes in version 1.13.2, released on December 13, 2014 |
|
|
--- MAJOR NEW FEATURES --- |
--- MAJOR NEW FEATURES --- |