version 1.35, 2019/10/13 14:45:17 |
version 1.36, 2021/09/17 18:27:39 |
|
|
|
|
This file lists the most important changes in the mandoc.bsd.lv distribution. |
This file lists the most important changes in the mandoc.bsd.lv distribution. |
|
|
Changes in version 1.14.6, released on XXX XXX, 2019 |
Changes in version 1.14.6, released on September XXX, 2021 |
|
|
--- MAJOR NEW FEATURES --- |
--- MAJOR NEW FEATURES --- |
* man(1) -T ascii: slowly start implementing tagging support for man(7) |
* mdoc(7): automatic tagging improved in many respects |
pages: tag alphabetic arguments of .IP, .TP, and .TQ macros |
* mdoc(7): new .Tg (tag) macro to explicitly mark a place as defining a term |
* -T html: wrap text and phrasing elements in paragraphs unless |
* man(7): implement some automatic tagging support |
already contained in flow containers; never put them directly |
* man(1): let -w without argument show the manpath, like in man-db and man-1.6 |
into sections. This helps to format paragraphs with the CSS |
* -T html: wrap text and phrasing elements in paragraphs unless already |
class selector .Pp. |
contained in flow containers; never put them directly into sections. |
|
This helps to format paragraphs with the CSS class selector .Pp. |
|
* man.conf(5): remove support for the "_whatdb" configuration directive |
|
that was deprecated in 2015; please use "manpath" instead |
--- MINOR NEW FEATURES --- |
--- MINOR NEW FEATURES --- |
* roff(7): implement the .break request (break out of a .while loop) |
* man(1): switch the default pager from "more -s" to "less" |
* if messages are shown and output is printed without a pager, |
* man(1): in the fallback code to look for manual pages without using |
display a heads-up on stderr at the end because otherwise, users |
mandoc.db(5), accept files "man<one-digit-section>/<name>.<full-section>" |
may easily miss the messages |
in addition to the already supported "man<full-section>/name.[01-9]*" |
|
* if messages are shown and output is printed without a pager, display |
|
a heads-up on stderr at the end because otherwise, users may easily |
|
miss the messages |
|
* man.cgi(8): add a Content-Security-Policy HTTP header |
|
* man.cgi(8): switch off autocomplete and autocapitalize |
* mandoc.css: support prefers-color-scheme: dark |
* mandoc.css: support prefers-color-scheme: dark |
|
* -T html: add meta viewport element to help mobile devices |
|
* -T html -O tag: let this pass a file:// URI to the pager |
|
* tbl(7): implement the "nospaces" option |
|
* tbl(7) -T html: implement the "a" (em indent) layout specification |
|
* tbl(7) -T html: implement the "b" (bold) and "i" (italic) layout modifiers |
|
* tbl(7): support two-character font names in the layout font modifier |
|
* tbl(7) -T html: support horinzontal rulers in individual cells |
|
* tbl(7) -T tree: print more details about columns, options, rows, and cells |
|
* roff(7): implement the .break request (break out of a .while loop) |
|
* roff(7): support the CB and CI fonts in \f and .ft |
|
* -T lint: new STYLE message if a file name extension contradicts .Dt/.TH |
|
* -T lint: new STYLE message about overlong text lines |
|
* -W style: check .Xr links along the full manpath |
--- RELIABILITY BUGFIXES --- |
--- RELIABILITY BUGFIXES --- |
* man(1): do not segfault if /tmp/ is not writeable |
* man(1): do not segfault if /tmp/ is not writeable |
|
* man(1): do not access a NULL pointer when both -l and -w are given |
|
* makewhatis(8): do not crash when a manpath directory contains |
|
a symbolic link that points to a directory |
|
* man(7): fix an assertion failure caused by doubly nested next-line scopes |
* tbl(7): fix a crash when the last column is only reached by spans |
* tbl(7): fix a crash when the last column is only reached by spans |
|
* tbl(7): fix a NULL pointer access in some cases of two spans on one row |
* tbl(7) -T ascii: fix a NULL pointer access on empty data cells |
* tbl(7) -T ascii: fix a NULL pointer access on empty data cells |
* tbl(7) -T ascii: fix a NULL pointer access on a line next to a short row |
* tbl(7) -T ascii: fix a NULL pointer access on a line next to a short row |
* -T html: fix an assertion failure caused by .ft in rare situations |
* tbl(7): fix an assertion failure caused by excessive spacing modifiers |
|
* tbl(7): fix an infinite loop for some overlapping horizontal spans |
* roff(7): fix a rare case of writing one byte past the end of the input buffer |
* roff(7): fix a rare case of writing one byte past the end of the input buffer |
|
* roff(7): do not call abort(3) when \*[.T] is encountered |
|
* roff(7): fix an assertion failure caused by a macro inside .ce .if |
|
* roff(7): fix assertion failures for .ti and .po with excessive arguments |
|
* roff(7): avoid near-infinte output for .ce inside explicit no-fill mode |
|
* -T ascii/utf8: fix assertion failures caused by excessive spacing |
|
* -T html: fix an assertion failure caused by .ft in rare situations |
|
* -T man: fix an assertion failure caused by tbl(7) and eqn(7) input |
|
--- PORTABILITY IMPROVEMENTS --- |
|
* rename HOMEBREWDIR to READ_ALLOWED_PATH, allow it to contain more than |
|
one directory, and explain how to use that for NixOS and GNU Guix Linux |
|
* configure: stop trying to ask make(1) what the default compiler is |
|
because that test was too fragile; just use "cc" by default |
|
* configure: various simplifications and improved robustness |
|
* configure: only compile compat_*.c implementations that are needed |
|
* configure: provide a feature test for __attribute__(()) |
|
* compat_*: sync with upstreams for security, functionality, and style |
|
* in the regression suite, avoid file names that differ only by case |
--- MINOR FUNCTIONAL IMPROVEMENTS --- |
--- MINOR FUNCTIONAL IMPROVEMENTS --- |
* man(1) -h: for pages lacking a SYNOPSIS, show the NAME section |
* man(1) -h: for pages lacking a SYNOPSIS, show the NAME section |
* man(1): when the first argument starts with a digit, optionally |
* man(1): when the first argument starts with a digit, optionally |
Line 36 Changes in version 1.14.6, released on XXX XXX, 2019 |
|
Line 80 Changes in version 1.14.6, released on XXX XXX, 2019 |
|
2. The section in the file name matches exactly. |
2. The section in the file name matches exactly. |
3. The section in the directory name matches exactly. |
3. The section in the directory name matches exactly. |
4. Neither of them matches exactly. |
4. Neither of them matches exactly. |
* man(1): if no tags were generated at all, unlink(2) the empty |
* man(1): if no tags were generated at all, unlink(2) the empty tags file |
tags file as soon the condition can be detected and do not pass |
as soon as the condition can be detected and do not pass it to less(1) |
it to less(1) |
|
* makewhatis(8): handle both dangling symlinks and .so links |
* makewhatis(8): handle both dangling symlinks and .so links |
in manual page directories more gracefully |
in manual page directories more gracefully |
* man.cgi(8): for invalid queries and for valid queries returning |
* man.cgi(8): for invalid queries and for valid queries returning |
no result, return the appropriate 40x status code rather than 200 |
no result, return the appropriate 40x status code rather than 200 |
|
* mdoc(7): let .Dd concatenate all arguments and default to the empty string |
|
* mdoc(7): convert ".Fl Fl" to ".Fl \-" during validation, improving -T html |
|
* mdoc(7): improve output of .At 32v |
|
* man(7): no longer print multiple blank lines before NAME and page footer |
* tbl(7) -T utf8: improved rendering of horizontal lines |
* tbl(7) -T utf8: improved rendering of horizontal lines |
|
* tbl(7) -T html: in "n" cells, align by padding numbers on the right |
|
* tbl(7): no longer leak tabulator settings to subsequent roff(7) code |
|
* mdoc(7) -T html: for .Bl -tag, use "column-count: 1" rather |
|
than "overflow: auto" to avoid the ugly side effects |
|
* mdoc(7) -T html: render .Bd -unfilled in proportionally-spaced font |
* mdoc(7) -T html: format .Nd with <span> rather than <div> |
* mdoc(7) -T html: format .Nd with <span> rather than <div> |
* mdoc(7) -T lint: do not warn about $Mdocdate$ without an actual date |
* mdoc(7) -T lint: do not warn about Mdocdate without an actual date |
* mdoc(7) -T lint: do not complain about function types of the |
* mdoc(7) -T lint: do not complain about function types of the |
form "ret_type (fname)(args)", but otherwise check names more strictly |
form "ret_type (fname)(args)", but otherwise check names more strictly |
|
* -T html: append .html suffix to temporary files to please browsers |
|
* -T markdown: print a BAGARG message if called on man(7) input |
--- MINOR BUGFIXES --- |
--- MINOR BUGFIXES --- |
* man(1): do the search for each name independently, and show the |
* man(1): do the search for each name independently, and |
results in the order of the command line argument |
show the results in the order of the command line argument |
* man(1): when asking for a single manual page by name, prefer |
* man(1): escape shell wildcard characters in name arguments before glob(3) |
file name matches over .Dt/.TH matches over first NAME matches |
* man(1): when asking for a single manual page by name, prefer file name |
over later NAME matches, but do not change the ordering for |
matches over .Dt/.TH matches over first NAME matches over later NAME |
apropos(1) nor for man -a |
matches, but do not change the ordering for apropos(1) nor for man -a |
|
* man(1): correctly extract the section name from the file name extension |
|
of gzipped manual page files |
|
* makewhatis(8): fix file type tests putting wrong data into mandoc.db(5) |
|
* man.cgi(8): fix section number in the <title> element for preformatted pages |
|
* tbl(7): correct handling of T& after horizontal rulers in the layout |
|
* tbl(7): correct column widths if rows have different numbers of cells |
|
* tbl(7): empty columns are 1n wide rather than 0n |
|
* tbl(7): correctly calculate required column widths for tables containing |
|
cells that horizontally span columns which contains "n" (number) formatted |
|
cells on other rows |
|
* tbl(7): skip escape sequences when looking for column separators |
|
* eqn(7): skip whitespace before tokens |
* roff(7): when calling an empty macro, do not clobber existing arguments |
* roff(7): when calling an empty macro, do not clobber existing arguments |
|
* roff(7): recognize \} on lines closing a macro definition request |
|
* roff(7): do not throw a bogus warning for "'br\}" and similar lines |
|
* roff(7): stop generating comment nodes when encountering the first content |
|
* mandoc_char(7): make \0 (digit-width space) non-breaking |
* mdoc(7) .Bl -column: parse Macro in .It "word<tab>word" Ta word Macro<eol> |
* mdoc(7) .Bl -column: parse Macro in .It "word<tab>word" Ta word Macro<eol> |
|
* mdoc(7) -T html: display straight quotes, not curly quotes, for .Qq/.Qo |
* -T html: remove some spurious line breaks, in particular inside <pre> |
* -T html: remove some spurious line breaks, in particular inside <pre> |
|
* -T html: use <br/> for a space character at the beginning of an input line |
|
* -T html: use ~%d for ordinal fragment suffixes, reserve '~' for that purpose |
--- STRUCTURAL IMPROVEMENTS --- |
--- STRUCTURAL IMPROVEMENTS --- |
|
* introduce the concept of semantically transparent syntax tree nodes, |
|
allowing improved decisions in various validators and formatters |
* move some code out of the giant main() into separate functions |
* move some code out of the giant main() into separate functions |
doing one well-defined task each |
doing one well-defined task each |
* clearly separate parser state (struct curparse) and formatter state |
* clearly separate parser state (struct curparse) and formatter state |
Line 66 Changes in version 1.14.6, released on XXX XXX, 2019 |
|
Line 141 Changes in version 1.14.6, released on XXX XXX, 2019 |
|
* in the HTML formatter, assert(3) that no HTML nesting violation occurs |
* in the HTML formatter, assert(3) that no HTML nesting violation occurs |
* let html_close_paragraph() close any phrasing context |
* let html_close_paragraph() close any phrasing context |
--- THANKS TO --- |
--- THANKS TO --- |
* Marc Espie (OpenBSD) for a patch and for suggesting a feature impovement |
* Anthony Bentley and Klemens Nanni (OpenBSD) for many patches and bug |
* Anton Lindqvist (OpenBSD) for a patch |
reports, for useful discussions, and for checking patches |
|
* Anton Lindqvist (OpenBSD) for two patches and a bug report |
|
* Marc Espie (OpenBSD) for a patch, many bug reports, and useful discussions |
|
* Lukas Epple (NixOS) for a patch, bug reports, and for checking patches |
|
* Abel Romero Perez for a patch, a bug report, and suggesting a new feature |
|
* nabijaczleweli for a patch and for suggesting feature improvements |
|
* Jonathan Gray (OpenBSD) for a patch and for bug reports |
|
* Otto Moerbeek (OpenBSD) and Alexander Gromnitsky for a patch |
* Armin Besirovic for a contribution to mandoc.css |
* Armin Besirovic for a contribution to mandoc.css |
* Lorenzo Beretta for three bug reports |
* Jason McIntyre (OpenBSD) for a manual page patch, suggesting a new feature, |
and for suggesting two feature impovements |
checking many patches, and useful discussions |
* Anthony Bentley (OpenBSD) for three bug reports |
* Martin Vahlensieck for a manual page patch and reporting a code style issue |
|
* Frederic Cambus and Ian Sutton (OpenBSD) for a manual page patch |
|
* Jan Schreiber for many bug reports found with afl(1) |
|
* G. Branden Robinson (GNU troff) for several bug reports, feature |
|
suggestions, and for checking many groff patches |
|
* Michael Stapelberg (Debian), Ian Ropers, Lorenzo Beretta, and Oliver Corff |
|
for several bug reports and feature suggestions |
|
* Stephen Gregoratto for several bug reports |
|
* Theo de Raadt (OpenBSD) for two bug reports, checking a patch, |
|
and a useful discussion |
|
* Andreas Kahari and Jason A. Donenfeld for two bug reports |
|
* Soeren Tempel (Alpine Linux) for a bug report, suggesting a feature |
|
improvement, and checking two patches |
|
* Aman Verma, Jan Stary, and John Gardner for a bug report |
and for suggesting a feature impovement |
and for suggesting a feature impovement |
* Michael Stapelberg (Debian) and Jan Stary for a bug report |
* Todd Miller (OpenBSD) for a bug report, checking a patch, |
and for suggesting a feature impovement |
and a useful discussion |
* Stephen Gregoratto for two bug reports |
* Andrew Fresh, Brian Callahan, Christian Weisgerber, Paul de Weerd (OpenBSD), |
* Brian Callahan, Klemens Nanni (OpenBSD), Jason Thorpe (NetBSD), |
Havard Eidnes, Jason Thorpe, Thomas Klausner (NetBSD), |
Yuri Pankov (FreeBSD), and Edgar Pettijohn for bug reports |
Yuri Pankov (FreeBSD), Bjarni Ingi Gislason, Chris Bennett, |
* Theo Buehler (OpenBSD), Leah Neukirchen (Void Linux), Colin Watson (Debian), |
Edgar Pettijohn, Eldred Habert, Jamie Landeg-Jones, Kazuo KUROI, |
and John Gardner for suggesting feature impovements |
and Wynn Wolf Arbor for a bug report |
* TJ Townsend (OpenBSD) for help with CSS |
* Theo Buehler (OpenBSD) for suggesting two feature impovements |
|
and for checking a patch |
|
* Colin Watson (Debian) for suggesting a feature impovement |
|
and for checking groff patches |
|
* Matej Cepl (SUSE Linux), Leah Neukirchen (Void Linux), Matthew Martin, |
|
Steffen Nurpmeso, and Tim Baumgard for suggesting a feature impovement |
* Christos Zoulas (NetBSD) for a report regarding portability |
* Christos Zoulas (NetBSD) for a report regarding portability |
* Michal Nowak for reporting four code style issues |
* Daniel Dickman (OpenBSD) for suggesting a portability improvement |
|
* Werner Lemberg (GNU troff) and Douglas McIlroy |
|
for reporting bugs in manual pages |
|
* Baptiste Daroussin and Eygene Ryabinkin (FreeBSD) |
|
for an additional regression test |
|
* Michal Nowak for reporting several code style issues |
|
* TJ Townsend (OpenBSD) for help with CSS |
|
* Job Snijders, Kinichiro INOGUCHI, and Martijn van Duren (OpenBSD) |
|
for checking patches |
|
* Bertrand Garrigues and Ralph Corderoy (GNU troff) for checking groff patches |
|
|
Changes in version 1.14.5, released on March 10, 2019 |
Changes in version 1.14.5, released on March 10, 2019 |
|
|