-$Id: NEWS,v 1.3 2013/10/13 16:06:50 schwarze Exp $
+$Id: NEWS,v 1.35 2019/10/13 14:45:17 schwarze Exp $
-This file lists the most important changes in the mdocml.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
+
+ --- MAJOR NEW FEATURES ---
+ * man(1) -T ascii: slowly start implementing tagging support for man(7)
+ pages: tag alphabetic arguments of .IP, .TP, and .TQ macros
+ * -T html: wrap text and phrasing elements in paragraphs unless
+ already contained in flow containers; never put them directly
+ into sections. This helps to format paragraphs with the CSS
+ class selector .Pp.
+ --- MINOR NEW FEATURES ---
+ * roff(7): implement the .break request (break out of a .while loop)
+ * 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
+ * mandoc.css: support prefers-color-scheme: dark
+ --- RELIABILITY BUGFIXES ---
+ * man(1): do not segfault if /tmp/ is not writeable
+ * tbl(7): fix a crash when the last column is only reached by spans
+ * 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
+ * -T html: fix an assertion failure caused by .ft in rare situations
+ * roff(7): fix a rare case of writing one byte past the end of the input buffer
+ --- MINOR FUNCTIONAL IMPROVEMENTS ---
+ * man(1) -h: for pages lacking a SYNOPSIS, show the NAME section
+ * man(1): when the first argument starts with a digit, optionally
+ followed by a letter, and at least one more argument follows,
+ interpret the first argument as a section name even when additional
+ characters follow after the digit and letter
+ * man(1): with a specific section requested, try harder to find
+ the best match; use this order of preference:
+ 1. The section in both the directory name and the file name matches exactly.
+ 2. The section in the file name matches exactly.
+ 3. The section in the directory name matches exactly.
+ 4. Neither of them matches exactly.
+ * man(1): if no tags were generated at all, unlink(2) the empty
+ tags file as soon the condition can be detected and do not pass
+ it to less(1)
+ * makewhatis(8): handle both dangling symlinks and .so links
+ in manual page directories more gracefully
+ * man.cgi(8): for invalid queries and for valid queries returning
+ no result, return the appropriate 40x status code rather than 200
+ * tbl(7) -T utf8: improved rendering of horizontal lines
+ * mdoc(7) -T html: format .Nd with <span> rather than <div>
+ * mdoc(7) -T lint: do not warn about $Mdocdate: October 13 2019 $ without an actual date
+ * mdoc(7) -T lint: do not complain about function types of the
+ form "ret_type (fname)(args)", but otherwise check names more strictly
+ --- MINOR BUGFIXES ---
+ * man(1): do the search for each name independently, and show the
+ results in the order of the command line argument
+ * man(1): when asking for a single manual page by name, prefer
+ file name matches over .Dt/.TH matches over first NAME matches
+ over later NAME matches, but do not change the ordering for
+ apropos(1) nor for man -a
+ * roff(7): when calling an empty macro, do not clobber existing arguments
+ * mdoc(7) .Bl -column: parse Macro in .It "word<tab>word" Ta word Macro<eol>
+ * -T html: remove some spurious line breaks, in particular inside <pre>
+ --- STRUCTURAL IMPROVEMENTS ---
+ * move some code out of the giant main() into separate functions
+ doing one well-defined task each
+ * clearly separate parser state (struct curparse) and formatter state
+ (struct outstate), don't mix them in the same struct
+ * in the HTML formatter, assert(3) that no HTML nesting violation occurs
+ * let html_close_paragraph() close any phrasing context
+ --- THANKS TO ---
+ * Marc Espie (OpenBSD) for a patch and for suggesting a feature impovement
+ * Anton Lindqvist (OpenBSD) for a patch
+ * Armin Besirovic for a contribution to mandoc.css
+ * Lorenzo Beretta for three bug reports
+ and for suggesting two feature impovements
+ * Anthony Bentley (OpenBSD) for three bug reports
+ and for suggesting a feature impovement
+ * Michael Stapelberg (Debian) and Jan Stary for a bug report
+ and for suggesting a feature impovement
+ * Stephen Gregoratto for two bug reports
+ * Brian Callahan, Klemens Nanni (OpenBSD), Jason Thorpe (NetBSD),
+ Yuri Pankov (FreeBSD), and Edgar Pettijohn for bug reports
+ * Theo Buehler (OpenBSD), Leah Neukirchen (Void Linux), Colin Watson (Debian),
+ and John Gardner for suggesting feature impovements
+ * TJ Townsend (OpenBSD) for help with CSS
+ * Christos Zoulas (NetBSD) for a report regarding portability
+ * Michal Nowak for reporting four code style issues
+
+Changes in version 1.14.5, released on March 10, 2019
+
+ --- MAJOR NEW FEATURES ---
+ * apropos(1): improve POSIX compliance by accepting case-insensitive
+ extended regular expressions by default
+ * new -O tag[=term] output option (open a page at the definition of a term)
+ * tbl(7) -T html: spanning and horizontal and vertical alignment of cells
+ * tbl(7) -T html: draw lines on the edges of table cells
+ * tbl(7) -T utf8: render lines with the Unicode box drawing characters
+ * mandoc is now able to handle the manual pages of the groff package.
+ --- MINOR NEW FEATURES ---
+ * -T html: new option -O toc (table of contents)
+ * -T html: second argument to -O man to support local and remote links
+ * mdoc(7) .Bd -centered now fills the text contained in it
+ * man-ext .SY and .YS macros (synopsis block)
+ * man-ext .TQ macro (tagged paragraph without vertical space before it)
+ * tbl(7) \& explicit alignment indicator
+ * roff(7) .shift, .while, and .return requests
+ * roff(7) .char request (output glyph definition)
+ * roff(7) .nop request (no operation)
+ * roff(7) .ft request: handle the CB, CI, and CR fonts
+ * roff(7) .if c conditional (character available)
+ * roff(7) \\$@ escape sequence (insert all macro arguments, quoted)
+ * roff(7) \*(.T predefined string (interpolate output device name)
+ * roff(7) \[charNNN] escape sequence (for printable ASCII characters)
+ * roff(7) \# escape sequence (line continuation with comment)
+ --- HTML OUTPUT SYNTAX CORRECTIONS ---
+ * Render .br and \p as <br/>, not as an empty <div>.
+ * Render .Pp and .PP as <p> and automatically close it when needed.
+ * Stop writing empty list elements for non-compact .Bl -tag lists.
+ * Do not put <p> inside <a> if .UR or .MT contain .PP.
+ * Implement tooltips purely in CSS rather than abusing title= attributes.
+ --- MINOR FUNCTIONAL IMPROVEMENTS ---
+ * many improvements to the handling of fill and no-fill mode
+ * tbl(7): better column widths in the presence of horizontal spans
+ * several minor improvements to escape sequence handling
+ * several minor improvements to manual font handling
+ * portability: autodetect need for _GNU_SOURCE or _OPENBSD_SOURCE
+ * portability: autodetect whether less(1) supports the -T option
+ * large numbers of bugfixes of diverse kinds
+ --- STRUCTURAL IMPROVEMENTS ---
+ * Disentangle eqn(7) and tbl(7) from other parser header files,
+ and clean up some parser data structures.
+ * Substantially simplify error and warning message infrastructure.
+ --- THANKS TO ---
+ * John Gardner for crucial help implementing tooltips in CSS.
+ * Alexander Bluhm, Raphael Graf, Ted Unangst (OpenBSD)
+ and Daniel Sabogal (Alpine Linux) for patches.
+ * Anthony Bentley and Jason McIntyre (OpenBSD) for documentation patches,
+ suggesting new features, bug reports, and useful discussions.
+ * Kyle Evans and Baptiste Daroussin (FreeBSD) for minor patches.
+ * Pali Rohar for suggesting multiple new features and for reporting
+ several bugs and missing features.
+ * Klemens Nanni (OpenBSD) for suggesting multiple new features.
+ * Kristaps Dzonsons (bsd.lv), Marc Espie (OpenBSD), Adam Kalisz,
+ and Laura Morales for suggesting new features.
+ * Wolfram Schneider and Yuri Pankov (FreeBSD) for reporting missing features.
+ * Edward Tomasz Napierala (FreeBSD) for suggesting a feature improvement.
+ * Thomas Klausner (NetBSD) and Sevan Janiyan (SmartOS)
+ for bug reports and release testing.
+ * Bryan Steele, Janne Johansson, Kurt Mosiejczuk, Mike Belopuhov, Theo
+ Buehler, Todd Miller (OpenBSD), Andreas Gustafsson, Christos Zoulas,
+ Robert Elz (NetBSD), Kurt Jaeger (FreeBSD), Fabio Scotoni, Kelvin
+ Sherlock, Mark Harris, Orestis Ioannou, Raf Czlonka, and Sean Farrell
+ for bug reports.
+ * Ulrich Spoerlein (FreeBSD), Leah Neukirchen (Void Linux),
+ Matej Cepl (openSUSE), and Jan Stary (MacOS X) for release testing.
+ * Brian Callahan and Stuart Henderson (OpenBSD) for help
+ with the OpenBSD groff port.
+ * Bertrand Garrigues, Branden Robinson, Ralph Corderoy, and Werner
+ Lemberg (GNU troff) for checking groff patches.
+ * Scott Cheloha, Theo de Raadt (OpenBSD)
+ and Natanael Copa (Alpine Linux) for useful discussions.
+
+Changes in version 1.14.4, released on August 8, 2018
+
+ --- MAJOR NEW FEATURES ---
+ * In ASCII output, render mathematical symbols and greek letters
+ as transliterations conveying the characters' meanings rather
+ than trying to imitate their shape. Consequently, such characters
+ can now be used in portable manual pages. All the same, please
+ limit their use to contexts where they really matter, for example
+ when showing complicated mathematical formulae.
+ * First steps towards better support for small screens in HTML
+ output (responsive design): avoid most style= attributes, in
+ particular all hard-coded indentations and column widths, and
+ provide a better mandoc.css style sheet with a @media query,
+ using em units throughout, and avoiding redundancy in selectors.
+ * Better HTML output with some more fitting HTML elements, eliminating
+ needless class= attributes, and avoiding various HTML syntax errors
+ (element nesting, URL-fragment syntax, duplicate id= attributes).
+ --- MINOR NEW FEATURES ---
+ * When a man(1) argument contains a slash, imply -l like in man-db.
+ * Use TIOCGWINSZ to reduce the default -Owidth and -Oindent during
+ interactive use on terminals narrower than 79 columns.
+ * Generated PostScript files are now more than 50% smaller.
+ * Terminal rendering of eqn(7) is improved in several respects.
+ * Simplified and nicer output from the mdoc(7) .Lk macro, formatting
+ all links in-line, even long ones.
+ * roff(7) \n+ and \n- numerical register auto-increment and -decrement
+ * roff(7) .nr optional third argument (auto-increment step size)
+ * Autodetect in ./configure whether the compiler can use -W and -static,
+ allowing to build on Solaris 10 and 11 without any configure.local.
+ --- RELIABILITY BUGFIXES ---
+ * Only activate UTF-8 output when the user really selected UTF-8,
+ not some other multibyte character encoding.
+ * Prevent excessive .ll arguments from generating infinite output.
+ * Fix out of bounds accesses to parse buffers that could happen when
+ using renamed or user defined macros after roff(7) conditionals.
+ * Avoid an assertion failure in certain .Bl -column lists.
+ * Avoid a NULL pointer access on deroff() failure after '.SS ""'.
+ * Fix a segfault that could be triggered by two invalid .Dt macros.
+ * Fix two syntax errors in generated PDF files.
+ * Properly state the page size in generated PostScript files.
+ * Close a memory leak caused by missing gzclose(3).
+ * Fix misformatting of man(7) documents lacking .SH macros
+ in PostScript and PDF output.
+ * And many minor bugfixes.
+ --- THANKS TO ---
+ * Marc Espie (OpenBSD) for implementing the size reduction of
+ PostScript files, one additional patch for code simplification,
+ and two bug reports.
+ * Theo Buehler (OpenBSD) for a bugfix patch,
+ and Theo de Raadt (OpenBSD) for checking it.
+ * John Gardner for more than a dozen suggestions regarding HTML output.
+ * Mike Williams for teaching me how to use %%DocumentMedia and
+ setpagedevice in PostScript files.
+ * Werner Lemberg (groff) for feedback on mdoc(7) language changes.
+ * Colin Watson (man-db) for feedback on man-db semantics.
+ * Jason McIntyre (OpenBSD) for lots of feedback and suggestions
+ on diagnostic messages and on the documentation.
+ * Thomas Klausner (NetBSD) for suggesting two new style messages
+ and one new feature, for two bug reports, and for release testing.
+ * Leah Neukirchen (Void Linux) for suggesting a new style message,
+ five bug reports, and release testing.
+ * Anthony Bentley (OpenBSD) for reporting multiple bugs and missing
+ features.
+ * Paul Irofti (OpenBSD) and Nate Bargmann for suggesting new features.
+ * Michael Stapelberg (Debian) for bug reports and release testing.
+ * Christian Weisgerber, Jonathan Gray, Stuart Henderson,
+ Ted Unangst (OpenBSD), Takeshi Nakayama (NetBSD),
+ Anton Lazarov, Jakub Klinkovsky, Jan Stary, Jesper Wallin,
+ Will Backmam, and Wolfgang Mueller for bug reports.
+ * Sevan Janiyan (NetBSD) for additions to lib.in.
+ * George Brown for suggesting code simplifications.
+ * David Coppa, Igor Sobrado (OpenBSD), and Alexander Kuleshov
+ for documentation improvements.
+ * Laura Morales and Raf Czlonka for questions resulting in better
+ documentation.
+ * Yuri Pankov (illumos) for release testing.
+
+Changes in version 1.14.3, released on August 5, 2017
+
+ --- BUG FIXES ---
+ * man(7): Do not crash with out-of-bounds read access to a constant
+ array if .sp or a blank line immediately precedes .SS or .SH.
+ * mdoc(7): Do not crash with out-of-bounds read access to a constant
+ array if .sp or a blank line precede the first .Sh macro.
+ * tbl(7): Ignore explicitly specified negative column widths rather than
+ wrapping around to huge numbers and risking memory exhaustion.
+ * man(1): No longer use names that only occur in the SYNOPSIS section.
+ Gets rid of some surprising behaviour and bogus warnings.
+ --- THANKS TO ---
+ Leah Neukirchen (Void Linux), Markus Waldeck (Debian),
+ Peter Bui (nd.edu), and Yuri Pankov (illumos) for bug reports.
+
+Changes in version 1.14.2, released on July 28, 2017
+
+ --- MAJOR NEW FEATURES ---
+ * New mdoc(7) -Tmarkdown output mode.
+ * For -Thtml, implement internal hyperlinks pointing to authoritative
+ definitions of various syntax elements, similar to the ctags(1)-like
+ less(1) :t internal searching in terminal mode.
+ * Provide a superset of the functionality of the former mdoclint(1)
+ utility and a new -Wstyle message level with several new messages,
+ including validity checking of .Xr cross references.
+ * tbl(7): Implement automatic line breaking inside individual table
+ cells, and several other formatting improvements.
+ * eqn(7): Complete rewrite of the lexer, resulting in several bugfixes.
+ * Continue parser unification, in particular allowing generation
+ of syntax tree nodes on the roff(7) level, allowing implementation
+ of many additional roff requests.
+ --- REMOVED FUNCTIONALITY ---
+ * Delete the manpage(1) utility. It was never enabled in any release.
+ * Delete the -Txhtml command line option. It has been an obsolete
+ alias for the -Thtml output mode for more than two years.
+ --- MINOR NEW FEATURES ---
+ * -Tlint now puts parser messages on stdout instead of stderr,
+ making commands like "man -l -Tlint *.1" useful.
+ * mdoc(7): Various .Lk formatting improvements.
+ * mdoc(7) -Thtml: Better CSS for .Bl lists.
+ * man(7): Implement the .MT/.ME block macro (mailto hyperlink).
+ * man(7): Implement the .DT macro (restore default tab positions).
+ * man(7): Improved support for manuals generated with reStructuredText
+ by partial support for the \n[an-margin] number register.
+ * man(7) -Thtml: Support deep linking to .SH and .SS headers.
+ * tbl(7): Implement the "allbox" table option.
+ * tbl(7): Implement the column spacing and the 'w' (minimum column
+ width) layout modifiers.
+ * tbl(7): Significant improvements of the manual page.
+ * eqn(7): Much improved font selection, including recognition of
+ well-known function names, and a few other formatting improvements.
+ * eqn(7) -Thtml: Use <mn> and <mo> in addition to <mi>.
+ * roff(7): Implement the .ce (centering), .mc (margin character),
+ .rj (right justify), .ta (define tab stops), .ti (temporary indent),
+ .als (macro alias), .ec and .eo (escape character control),
+ .po (page offset), and .rn (macro rename) requests.
+ * roff(7) .am: Implement appending to mdoc(7) and man(7) macros.
+ * roff(7): implement the \h (horizontol motion), \l (horizontal
+ line drawing), and \p (break output line) escape sequences,
+ and also several additional character escape sequences.
+ * roff(7): Implement the 'd' conditional (macro or string defined).
+ * man.cgi(8) now uses pledge(2), too.
+ * regress.pl(1): simpler user interface, better summary output,
+ simpler code, and no more recursion.
+ --- THANKS TO ---
+ * Anthony Bentley (OpenBSD) for the implementation of .MT/.ME,
+ reports of many bugs and missing features, and suggestions
+ for a number of feature and documentation improvements.
+ * Sebastien Marie (OpenBSD) for two source code patches and
+ for some useful discussions.
+ * Florian Obser (OpenBSD) for a bugfix patch and a bug report.
+ * Jonathan Gray (OpenBSD) for several bug reports from afl(1)
+ and several more from static analysis tools.
+ * Theo Buehler (OpenBSD) for several bug reports, most from afl(1).
+ * Jason McIntyre (OpenBSD) for many useful discussions about a
+ wide variety of topics, lots of continuous testing, a number of
+ bug reports, and some suggestions for messages and documentation.
+ * Thomas Klausner (NetBSD) for lots of help while migrating
+ mdoclint(1) functionality to mandoc -Tlint, for suggesting
+ several useful new messages, and for release testing.
+ * Reyk Floeter (OpenBSD) and Vsevolod Stakhov (FreeBSD) for
+ suggesting a markdown output mode.
+ * Thomas Guettler for suggesting -Thtml internal hyperlinks.
+ * Yuri Pankov (Illumos) for inspiring new warning messages and
+ for extensive release testing.
+ * Anton Lindqvist and TJ Townsend (both OpenBSD) and Jan Stary
+ for multiple bug reports.
+ * Leah Neukirchen (Void Linux) for bug reports and release testing.
+ * Michael Stapelberg (Debian) for suggesting feature improvements
+ and for release testing.
+ * Martin Natano and Theo de Raadt (both OpenBSD), Andreas Voegele,
+ Gabriel Guzman, Gonzalo Tornaria, Markus Waldeck, and Raf Czlonka
+ for bug reports.
+ * Antoine Jacoutot (OpenBSD) and Steffen Nurpmeso for suggesting
+ feature improvements.
+ * Dag-Erling Smoergrav (FreeBSD) for inspiring new warning messages.
+ * Ted Unangst and Marc Espie (OpenBSD) for providing useful ideas.
+ * Svyatoslav Mishyn (Crux Linux) for release testing.
+ * Carsten Kunze (Heirloom roff) for help keeping mandoc and groff
+ compatible and for committing some of my patches to groff.
+
+Changes in version 1.14.1, released on February 21, 2017
+
+ --- MAJOR NEW FEATURES ---
+ * apropos(1): Reimplement complete semantic search functionality
+ without the dependency on SQLite3, using only POSIX APIs.
+ This comes with a completely new mandoc.db(5) file format.
+ * man(1): Support more than one tag entry for the same search term,
+ plus some minor improvements to the less(1) :t support.
+ * -Thtml: Use real macro names for CSS classes.
+ Systematic cleanup of and many improvements to mandoc.css.
+ * -Thtml: Produce human readable HTML code by using indentation
+ and better line breaks. Improve various HTML elements,
+ and trim several useless ones.
+ * New catman(8) utility, still somewhat experimental.
+ * Now includes a portable version of the OpenBSD mandoc regression
+ suite, see regress/regress.pl.1 for details.
+ --- REMOVED FUNCTIONALITY ---
+ * Operating systems that don't provide mmap(3) are no longer supported.
+ * Drop support for manpath(1). Even if your system has manpath(1),
+ it is simpler to use MANPATH_DEFAULT in configure.local for
+ operating system defaults, man.conf(5) for machine-specific
+ modifications, and ${MANPATH}, -m, and -M for user preferences
+ than to bother with the complexity of manpath(1).
+ * makewhatis(8) -p: No longer warn about missing MLINKS since these
+ are no longer needed for anything.
+ --- MINOR NEW FEATURES ---
+ * mdoc(7): Warn about invalid punctuation and content below NAME.
+ * mdoc(7): Warn about .Xr lacking the second argument (section).
+ * mdoc(7): Warn about violations of the rule "new sentence, new line".
+ * roff(7): Warn about trailing whitespace at the end of comments.
+ * mdoc(7): Improve rendering of double quotes.
+ * mdoc(7): Always do text production in the validator, never in the
+ formatters. Cleaner, simpler, shorter, helps NetBSD apropos(1)
+ and also makes -Ttree output more useful.
+ * -Ttree: Show metadata and some additional node flags.
+ New -Onoval output option to show the unvalidated tree.
+ --- RELIABILITY BUGFIXES ---
+ * man(1): Make "man -l" work with standard input from a pipe or file,
+ as long as standard output is a terminal.
+ * man(7): Fix out of bounds read access if a text node immediately
+ preceded the first .SH header.
+ * mdoc(7): Fix out of bounds read access for .Bl without a type
+ but with a width.
+ * mdoc(7): Fix out of bounds read access for .Bl -column starting
+ with a tab character instead of a child .It macro.
+ * mdoc(7): Fix syntax tree corruption leading to segfaults caused
+ by stray block end macros in nested blocks of mismatching type.
+ * man(1): Fix NULL dereference when the first of multiple pages
+ shown was preformatted.
+ * mdoc(7): Fix syntax tree corruption leading to NULL dereference
+ caused by partial implicit macros inside .Bl -column table cells.
+ * mdoc(7): Fix syntax tree corruption leading to NULL dereference
+ for macro sequences like .Bl .Bl .It Bo .El .It.
+ * mdoc(7): Fix syntax tree corruption leading to NULL dereference
+ caused by .Ta following a nested .Bl -column breaking another block.
+ * mdoc(7): Fix syntax tree corruption sometimes leading to NULL
+ dereference caused by indirectly broken .Nd or .Nm blocks.
+ * mdoc(7) -Thtml: Fix a NULL dereference for .Bl -column with 0 columns.
+ * mdoc(7): Fix NULL dereference in some specific cases of a
+ block-end macro calling another block-end macro.
+ * mdoc(7): Fix NULL dereference if the only child of the head
+ of the first .Sh was an empty in-line macro.
+ * eqn(7): Fix NULL dereference in the terminal formatter
+ for empty matrices and empty square roots.
+ * mdoc(7): Fix an assertion failure for a .Bd without a type that
+ breaks another block.
+ * mdoc(7): Fix an assertion failure that happened for some .Bl -column
+ lists containing a column width of "-4n", "-3n", or "-2n".
+ * mdoc(7): Fix an assertion failure caused by .Bl -column without .It
+ but containing eqn(7) or tbl(7) code.
+ * roff(7): Fix an assertion failure caused by \z\[u00FF] with -Tps/-Tpdf.
+ * roff(7): Fix an assertion failures caused by whitespace inside \o''
+ (overstrike) sequences.
+ * -Thtml: Fix an assertion failure caused by -Oman or -Oincludes of
+ excessive length.
+ --- PORTABILITY IMPROVEMENTS ---
+ * man(1): Do not mix stdio narrow and wide stream orientation
+ on stdout, which could cause output corruption on glibc.
+ * mandoc(1): Autodetect a suitable locale for -Tutf8 mode.
+ * ./configure: Autodetect whether PATH_MAX and O_DIRECTORY are defined.
+ * ./configure: Autodetect if nanosleep(3) needs -lrt.
+ * ./configure: Provide an ${LN} configuration variable.
+ * ./configure: Put compiler arguments that may contain -l at the end.
+ --- MINOR BUGFIXES ---
+ * mdoc(7): Fix SYNOPSIS output if the first child of .Nm is a macro.
+ * mdoc(7) -Thtml: Improve formatting of .Bl -tag with short tags.
+ * man(7) -Thtml: Preserve whitespace in .nf (nofill) mode.
+ * mandoc(1): Error out on invalid output options on the command line.
+ --- STRUCTURAL CHANGES, no functional change ---
+ * Redesign part of the mandoc_html(3) interfaces, making them much
+ easier to use and reducing the amount of code by a few hundred lines.
+ --- THANKS TO ---
+ * Michael Stapelberg (Debian) for designing the new mandocd(8)
+ and parts of the new catman(8), for release testing, and for a
+ number of patches and bug reports.
+ * Baptiste Daroussin (FreeBSD) for profiling the new makewhatis(8)
+ implementation and suggesting an algorithmic improvement which
+ more than doubled performance, and for a few bug reports.
+ * Ed Maste (FreeBSD) for an important patch improving reproducibility
+ of builds in makewhatis(8), and for a few bug reports.
+ * Theo Buehler (OpenBSD) for almost twenty important bug reports,
+ most of them found by systematic afl(1) fuzzing.
+ * Benny Lofgren, David Dahlberg, and in particular Vadim Zhukov
+ for crucial help in getting .Bl -tag CSS formatting fixed.
+ * Svyatoslav Mishyn (Crux Linux) for an initial version of the
+ patch to autodetect a suitable locale for -Tutf8 mode
+ and for release testing.
+ * Jason McIntyre (OpenBSD) for multiple useful discussions
+ and a number of bug reports.
+ * Sevan Janiyan (NetBSD) for extensive release testing and multiple
+ bug reports.
+ * Thomas Klausner and Christos Zoulas (NetBSD), Yuri Pankov (illumos),
+ and Leah Neukirchen (Void Linux) for release testing and bug reports.
+ * Ulrich Spoerlein (FreeBSD) for release testing.
+ * Alexander Bluhm, Andrew Fresh, Antoine Jacoutot, Antony Bentley,
+ Christian Weisgerber, Jonathan Gray, Marc Espie, Martijn van Duren,
+ Stuart Henderson, Ted Unangst, Theo de Raadt (OpenBSD), Abhinav
+ Upadhyay, Kamil Rytarowski (NetBSD), Aaron M. Ucko, Bdale Garbee,
+ Reiner Herrmann, Shane Kerr (Debian), Daniel Sabogal (Alpine Linux),
+ Carsten Kunze (Heirloom roff), Kristaps Dzonsons (bsd.lv),
+ Anton Lindqvist, Jan Stary, Jeremy A. Mates, Mark Patruck,
+ Pavan Maddamsetti, Sean Levy <attila@stalphonsos.com>, and
+ Tiago Silva for bug reports.
+ * Brent Cook, Marc Espie, Philip Guenther, Todd Miller (OpenBSD)
+ and Markus Waldeck for useful discussions.
+ * And as usual, OpenCSW for providing me with a Solaris 9/10/11
+ testing environment.
+
+Changes in version 1.13.4, released on July 14, 2016
+
+ --- MAJOR NEW FEATURES ---
+ * man.conf(5): Design and implement a simpler configuration file format.
+ * man(1): Leverage less(1) -T and :t in a way resembling ctags(1)
+ to jump to the definitions of various terms inside manual pages.
+ * soelim(1): New implementation by Baptiste Daroussin.
+ * privilege limitation: Use OpenBSD pledge(2) or OS X sandbox_init(3)
+ when available.
+ * man.cgi(8): Support short URIs like http://man.openbsd.org/mdoc .
+ * mandoc.css: Use one unified stylesheet rather than three different ones.
+ --- MAJOR FUNCTIONALLY RELEVANT BUGFIXES ---
+ * mdoc(7): Fix multiple aspects of SYNOPSIS .Nm formatting.
+ * man(1): Fix process group handling, avoiding unclean shutdowns.
+ --- PORTABILITY IMPROVEMENTS ---
+ * Correctly use the ohash(3) compatibility implementation
+ even when building without SQLite support.
+ * Add compat glue for building on Solaris 9 and 10.
+ * Let ./configure select a supported RE syntax for word boundaries.
+ * Support LDFLAGS, to be used for example for hardening options.
+ * Avoid mixing putchar(3) and putwchar(3) on the same file descriptor,
+ it resulted in output corruption on some platforms.
+ * Avoid reusing va_lists, use va_copy(3) for better portability.
+ * Do not hardcode the path to the more(1) program.
+ --- MINOR NEW FEATURES ---
+ * roff(7): Implement \n(.$ (number of macro arguments).
+ * roff(7): Fully implement \z (do not advance cursor).
+ * roff(7): Implement the `r' conditional (register exists).
+ * roff(7): Implement \\$* (interpolate all arguments).
+ * roff(7): Parse and ignore \, and \/ (italic corrections).
+ * When there is no -m, no -M, no MANPATH and no /etc/man.conf,
+ fall back to /usr/share/man:/usr/X11R6/man:/usr/local/man.
+ * man(1): Give manuals in purely numerical sections priority over
+ manuals of the same name in sections with an alphabetical suffix.
+ * man.cgi(8): Support "header.html" and "footer.html".
+ * man.cgi(8): Set the "autofocus" attribute on the query text box.
+ * man.cgi(8): Simplify the search form, drop two useless buttons.
+ * man.cgi(8): Delete the pseudo-manpath "mandoc", assume that
+ apropos(1) and man.cgi(8) are installed in the default manpath.
+ --- RELIABILITY BUGFIXES ---
+ * mdoc(7): Avoid a use after free and an assertion failure when nodes
+ are deleted during validation.
+ * mdoc(7): Avoid a NULL pointer access when .Bd has no arguments.
+ * mdoc(7): Avoid a NULL pointer access triggered by mismatching end macros.
+ * mdoc(7): Avoid an assertion when .Fo has no argument.
+ * mdoc(7): Avoid an assertion when .Ta<tab> occurs in .Bl -column.
+ * mdoc(7): Avoid an assertion when a body gets broken and has a tail.
+ * roff(7): Avoid an assertion caused by blanks inside \o.
+ * roff(7): Make .so links to gziped manuals work without mandoc.db(5).
+ * tbl(7): Avoid a use after free when the last line of a layout is empty.
+ * eqn(7): Avoid an infinite loop caused by recursive "define".
+ * makewhatis(8): Avoid a segfault caused by unusual directory structures.
+ * Fix handling of leading, trailing, and double colons in MANPATH and -m.
+ --- MINOR BUGFIXES ---
+ * mdoc(7): Put arguments to end macros of broken partial explicit blocks
+ inside the breaking block.
+ * mdoc(7): Let .Dv force normal font.
+ * mdoc(7): Make trailing whitespace significant in .Bl -tag widths.
+ * mdoc(7): Fix macro interpretation around tabs in .Bl -column.
+ * man(7): Use the default width for .RS without arguments.
+ * man(7): On a new RS nesting level, the saved width starts from
+ the default width, not from the saved width of the previous level.
+ * man(7): Allow .PD in next-line scope.
+ * man(7): Improve handling of empty .HP.
+ * man(7): Improve formatting of .br and .sp inside .HP.
+ * man(7): Do not mistreat empty arguments to font alternating
+ macros as vertical spacing requests.
+ * man(7): Allow fill mode changes in tagged paragraph next-line scope.
+ * man(7): Fix minor bugs in block rewinding and simplify the related code.
+ * man(7): Add missing line breaks before subsection headers.
+ * man(7): Give section and subsection headers hanging indentation.
+ * man(7): Make trailing whitespace significant in .TP widths.
+ * roff(7): Don't allow breaking the output line after hyphens
+ that immediately follow escape sequences.
+ * roff(7): Ignore blank characters at the beginning of conditional blocks.
+ * roff(7): Escape breakable hyphens only after handling input line traps.
+ * roff(7): Reject \[uD800] to \[uDFFF] (surrogates) in the parser.
+ * tbl(7): Allow more than one data field after T} on the same input line.
+ * terminal output: Apply bold and italic to non-ASCII Unicode codepoints.
+ * terminal output: Improve rounding rules for horizontal scaling widths.
+ * HTML output: Render ASCII_NBRSP as " ", not "-".
+ * man(1): Do not match the first part of a name if it continues with a dot.
+ * man(1): Keep working even if the current directory is unusable.
+ * man(1): Better error message when $PAGER is invalid.
+ * makewhatis(8): Improve handling of .Va and .Vt macros.
+ * apropos(1): Print "nothing appropriate" to stderr when appropriate.
+ * apropos(1): Abort with a useful error message when elementary
+ database operations like preparing queries or binding variables fail.
+ --- STRUCTURAL CHANGES, no functional change ---
+ * mdoc(7) and man(7): Unified data structures struct roff_node etc.
+ * mdoc(7) and man(7): Unified node handling library in roff.c.
+ * mdoc(7) and man(7): Seperate validation phase from parsing.
+ * roff(7): Major character table cleanup.
+ * Link with libz rather than forking gunzip(1).
+ --- THANKS TO ---
+ * Baptiste Daroussin (FreeBSD) for the new soelim(1)
+ and for release testing.
+ * Anthony Bentley (OpenBSD) for unifying mandoc.css, two nice
+ patches for man.cgi(8), some documentation patches, some bug
+ reports, and various useful discussions.
+ * Todd Miller (OpenBSD) for lots of help with process group and
+ signal handling, a few patches, some bug reports and some useful
+ discussions.
+ * Jonathan Gray (OpenBSD) for yet more testing with afl(1)
+ again resulting in more than half a dozen important bug reports.
+ * Svyatoslav Mishyn (Crux Linux) for some patches, several bug
+ reports, and extensive release testing.
+ * Leah Neukirchen (Void Linux) for a number of compatibility
+ patches and suggestions and several bug reports.
+ * Christos Zoulas (NetBSD) for a bug fix patch and some useful
+ suggestions for cleanup.
+ * Florian Obser (OpenBSD) for a bugfix patch and some bug reports.
+ * Sevan Janiyan for help with Solaris compatibility and release
+ testing on many platforms.
+ * Jan Holzhueter and OpenCSW in general for help with Solaris
+ compatibility, and for providing me with a Solaris 9/10/11 testing
+ environment.
+ * Michael McConville (OpenBSD) for some simple cleanup patches.
+ * Thomas Klausner (NetBSD) for some bug reports and release testing.
+ * Christian Weisgerber, Dmitrij Czarkoff, Igor Sobrado,
+ Ken Westerback, Marc Espie, Mike Belopuhov, Rafael Neves,
+ Ted Unangst, Tim van der Molen, Theo Buehler, Theo de Raadt
+ (OpenBSD), Kurt Jaeger, Dag Erling Smoergrav (FreeBSD),
+ Joerg Sonnenberger (NetBSD), Carsten Kunze (Heirloom troff),
+ Daniel Levai, Fabian Raetz, Jan Stary, Jean-Yves Migeon,
+ Lorenzo Beretta, Markus Waldeck, Maxim Belooussov, Michael Reed,
+ Peter Bray, and Serguey Parkhomovsky for bug reports and feature
+ suggestions.
+ * Alexander Hall, Andrew Fresh, Antoine Jacoutot, Doug Hogan,
+ Jason McIntyre, Jasper Lievisse Adriaanse, Kent Spillner,
+ Nicholas Marriott, Peter Hessler, Sebastien Marie, Stefan Sperling,
+ and Theo de Raadt (OpenBSD) for helpful discussions and feedback.
+
+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://mandoc.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.241
+ * Fix a potential write buffer overrun on backslash at EOF in a conditional.
+ http://mandoc.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.247
+ * Fix a use after free sometimes hit when validation deletes a block.
+ http://mandoc.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
+
+ --- MAJOR NEW FEATURES ---
+ * Include an implementation of man(1), the manual page viewer.
+ * Unified set of command line option, each one supported by all
+ command names, including new options -a (format all), -c (no
+ pager), -h (synopsis only), and -w (list filenames).
+ * Support the MANPAGER and PAGER environment variables.
+ * Support gzip'ed manuals by the whole toolset, even as .so targets.
+ * Support UTF-8 and Latin-1 input by the whole toolset, delete preconv(1).
+ * Switch the default output mode from -Tascii to -Tlocale.
+ * Improve -Tascii output for Unicode escape sequences.
+ * Let the -Thtml output mode produce polyglot HTML5.
+ * Many improvements for eqn(7), in particular in-line equations,
+ MathML output in -Thtml mode, and much improved terminal formatting.
+ --- PORTABILITY IMPROVEMENTS ---
+ * Change the build sequence to the usual ./configure; make; make install.
+ * Support ./configure.local for build customizations.
+ * Autodetect wchar, sqlite3, and manpath support.
+ * Provide a fallback version of fts(3) for systems lacking it.
+ * Support choosing alternative binary and manual names.
+ --- MINOR NEW FEATURES ---
+ * Rudimentary implementation of the e, x, and z tbl(7) layout
+ modifiers to equalize, maximize, and ignore the width of columns.
+ * Implement font modifiers in tbl(7) layouts.
+ * Allow comma-separated options in the tbl(7) options line.
+ * Parse and ignore the .pl (page length) roff(7) request.
+ * Implement .An -[no]split for the mdoc(7) -Thtml output mode.
+ * Support bold italic font in PostScript and PDF output.
+ * Warn about commas in function arguments and parentheses in function names.
+ * Warn about botched .Xr ordering and punctuation below SEE ALSO.
+ * Warn about AUTHORS sections without .An macros.
+ * Warn about attempts to call non-callable macros.
+ * New developer documentation manual page mandoc_headers(3).
+ --- BUGFIXES ---
+ * Fix read buffer overrun sometimes triggered by trailing whitespace.
+ * Fix read buffer overrun triggered by certain invalid \H sequences.
+ * Fix NULL pointer access triggered by .Bl without any arguments.
+ * Fix NULL pointer access triggered by .It Nm Fo without .Fc.
+ * Fix NULL pointer access triggered by .Sh Xo .Sh without .Xc.
+ * Fix NULL pointer access triggered by missing .Nm.
+ * Fix an assertion triggered by .It right after .El.
+ * Fix an assertion triggered by .Ec without preceding .Eo.
+ * Fix an assertion triggered by .Sm or .Db with multiple arguments.
+ * Fix assertion failures triggered by very large width arguments.
+ * Fix a division by zero in the roff(7) parser.
+ * Prevent negative arguments to .ll from causing integer underflow.
+ * Correctly autodetect source format even when .Dd is preceded by .ll.
+ * Multiple fixes with respect to .Bd and .Bl -offset and -width.
+ * Many bugfixes with respect to scaling units.
+ * Multiple fixes with respect to delimiter handling by in-line macros.
+ * Multiple fixes with respect to .Pf.
+ * Make \c work properly in no-fill mode.
+ * Stricter syntax checking of Unicode character names.
+ --- THANKS TO ---
+ * Kristaps Dzonsons for rewriting the eqn(7) parser, implementing
+ HTML5 and MathML output, and various other code contributions.
+ * Jonathan Gray (OpenBSD) for extensive testing with afl (the
+ American Fuzzy Lop security fuzzer) resulting in many bug reports.
+ * Anthony Bentley (OpenBSD), Baptiste Daroussin (FreeBSD), Daniel
+ Dickman, Doug Hogan, Jason McIntyre, Theo de Raadt (OpenBSD),
+ and Martin Natano for source code patches.
+ * Carsten Kunze (Heirloom troff), Daniel Levai (Slackware),
+ Garrett D'Amore (illumos), Giovanni Becchis, Matthew Dempsky,
+ Stuart Henderson, Ted Unangst, Todd Miller (OpenBSD), Thomas
+ Klausner (NetBSD), Ulrich Spoerlein (FreeBSD), Justin Haynes,
+ Marcus Merighi, Sebastien Marie, Steffen Nurpmeso and Theo Buehler
+ for bug reports.
+
+Changes in version 1.13.1, released on August 10, 2014
+
+ --- MAJOR NEW FEATURES ---
+ * A complete apropos(1)/makewhatis(8)/man.cgi(8) suite
+ based on SQLite3 is now included.
+ * The roff(7) parser now provides an almost complete implementation
+ of numerical expressions.
+ * Warning and error messages have been improved in many ways.
+ Almost all fatal errors were downgraded to normal errors and some
+ even to warnings. Almost all messages now mention the macro where
+ the issue is detected and many indicate the workaround employed.
+ The mandoc(1) manual now includes a list explaining all messages.
+ --- MINOR NEW FEATURES ---
+ * The roff(7) parser now supports the .ami (append to macro with
+ indirectly specified name), .as (append to user-defined
+ string), .dei (define macro with indirectly specified name),
+ .ll (line length), and .rr (remove register) requests.
+ * The roff(7) parser now supports string comparison and numerical
+ conditionals in the .if and .ie requests.
+ * The roff parser now fully supports the \B (validate numerical
+ expression) and partially supports the \w (measure text width)
+ escape sequences.
+ * The terminal formatter now supports the \: (optional line break)
+ escape sequence.
+ * The roff parser now supports expansion of user-defined strings
+ involving indirect references.
+ * The roff(7) parser now handles some pre-defined read-only
+ number registers that occur in the pod2man(1) preamble.
+ * For backward compatibility, the mdoc(7) parser and formatters
+ now support the obsolete macros .En, .Es, .Fr, and .Ot.
+ * The mdoc(7) formatter non partially supports .Bd -centered.
+ * tbl(7) now handles leading and trailing vertical lines.
+ * The build system now provides fallback versions of strcasestr(3)
+ and strsep(3) for systems lacking them.
+ * The mdoc(7) manual now explains how various standards
+ supported by the .St macro are related to each other.
+ --- BUGFIXES ---
+ * In the roff(7) parser, several bugs were fixed with respect
+ to closing conditional blocks on macro lines.
+ * Parsing of roff(7) identifiers and escape sequences was improved
+ in multiple respects.
+ * In the mdoc(7) parser, the handling of defective document
+ prologues was improved in multiple ways.
+ * The mdoc(7) parser no longer skips content before the first section
+ header, and it no longer deletes non-.% content from .Rs blocks.
+ * In the mdoc(7) parser, a crash was fixed related to weird .Sh headers.
+ * In the mdoc(7) parser, handling of .Sm with missing or invalid
+ arguments was corrected.
+ * In the mdoc(7) parser, trailing punctuation at the end of partial
+ implicit macros no longer triggers end-of-sentence spacing.
+ * In the terminal formatter, two crashes were fixed: one triggered by
+ excessive indentation and another by excessively long .Nm arguments.
+ * In the terminal formatter, a floating point rounding bug was
+ fixed that sometimes caused an off-by-one error in indentation.
+ * In the UTF-8 formatter, rendering of accents, breakable hyphens,
+ and non-breakable spaces was corrected.
+ * In the HTML formatter, encoding of special characters was
+ corrected in multiple respects.
+ * In the mdoc(7) formatter, rendering of .Ex and .Rv was
+ improved for various edge cases.
+ * In the mdoc(7) formatter, handling of empty .Bl -inset item
+ heads was improved.
+ * In the man(7) formatter, some bugs were fixed with respect
+ to same-line detection in the context of .TP and .nf macros,
+ and the indentation of .IP and .TP blocks was improved.
+ * The mandoc(3) library no longer prints to stderr.
+ --- THANKS TO ---
+ Abhinav Upadhyay (NetBSD), Andreas Voegele, Anthony Bentley (OpenBSD),
+ Christian Weisgerber (OpenBSD), Havard Eidnes (NetBSD), Jan Stary,
+ Jason McIntyre (OpenBSD), Jeremie Courreges-Anglas (OpenBSD),
+ Joerg Sonnenberger (NetBSD), Juan Francisco Cantero Hurtado (OpenBSD),
+ Marc Espie (OpenBSD), Matthias Scheler (NetBSD), Pascal Stumpf (OpenBSD),
+ Paul Onyschuk (Alpine Linux), Sebastien Marie, Steffen Nurpmeso,
+ Stuart Henderson (OpenBSD), Ted Unangst (OpenBSD), Theo de Raadt (OpenBSD),
+ Thomas Klausner (NetBSD), and Ulrich Spoerlein (FreeBSD)
+ for reporting bugs and missing features.
+
+Changes in version 1.12.3, released on December 31, 2013
+
+ * In the mdoc(7) SYNOPSIS, line breaks and hanging indentation
+ now work correctly for .Fo/.Fa/.Fc and .Fn blocks.
+ Thanks to Franco Fichtner for doing part of the work.
+ * The mdoc(7) .Bk macro got some addititonal bugfixes.
+ * In mdoc(7) macro arguments, double quotes can now be quoted
+ by doubling them, just like in man(7).
+ Thanks to Tsugutomo ENAMI for the patch.
+ * At the end of man(7) macro lines, end-of-sentence spacing
+ now works. Thanks to Franco Fichtner for the patch.
+ * For backward compatibility, the man(7) parser now supports the
+ man-ext .UR/.UE (uniform resource identifier) block macros.
+ * The man(7) parser now handles closing blocks that are not open
+ more gracefully.
+ * The man(7) parser now ignores blank lines right after .SH and .SS.
+ * In the man(7) formatter, reset indentation when leaving a block,
+ not just when entering the next one.
+ * The roff(7) .nr request now supports incrementing and decrementing
+ number registers and stops parsing the number right before the
+ first non-digit character.
+ * The roff(7) parser now supports the alternative escape sequence
+ syntax \C'uXXXX' for Unicode characters.
+ * The roff(7) parser now parses and ignores the .fam (font family)
+ and .hw (hyphenation points) requests and the \d and \u escape
+ sequences.
+ * The roff(7) manual got a new ESCAPE SEQUENCE REFERENCE.
Changes in version 1.12.2, released on Oktober 5, 2013
* and column lengths handled correctly.
For older releases, see the ChangeLog files
-in http://mdocml.bsd.lv/snapshots/ .
+in http://mandoc.bsd.lv/snapshots/ .