Lines Matching +full:7 +full:- +full:to +full:- +full:1

7     --- MAJOR NEW FEATURES ---
8 * mdoc(7): automatic tagging improved in many respects
9 * mdoc(7): new .Tg (tag) macro to explicitly mark a place as defining a term
10 * man(7): implement some automatic tagging support
11 * man(1): let -w without argument show the manpath, like in man-db and man-1.6
12 * -T html: wrap text and phrasing elements in paragraphs unless already
14 This helps to format paragraphs with the CSS class selector .Pp.
17 --- MINOR NEW FEATURES ---
18 * man(1): switch the default pager from "more -s" to "less"
19 * man(1): in the fallback code to look for manual pages without using
20 mandoc.db(5), accept files "man<one-digit-section>/<name>.<full-section>"
21 in addition to the already supported "man<full-section>/name.[01-9]*"
23 a heads-up on stderr at the end because otherwise, users may easily
25 * man.cgi(8): add a Content-Security-Policy HTTP header
27 * mandoc.css: support prefers-color-scheme: dark
28 * -T html: add meta viewport element to help mobile devices
29 * -T html -O tag: let this pass a file:// URI to the pager
30 * tbl(7): implement the "nospaces" option
31 * tbl(7) -T html: implement the "a" (em indent) layout specification
32 * tbl(7) -T html: implement the "b" (bold) and "i" (italic) layout modifiers
33 * tbl(7): support two-character font names in the layout font modifier
34 * tbl(7) -T html: support horinzontal rulers in individual cells
35 * tbl(7) -T tree: print more details about columns, options, rows, and cells
36 * roff(7): implement the .break request (break out of a .while loop)
37 * roff(7): support the CB and CI fonts in \f and .ft
38 * -T lint: new STYLE message if a file name extension contradicts .Dt/.TH
39 * -T lint: new STYLE message about overlong text lines
40 * -W style: check .Xr links along the full manpath
41 --- RELIABILITY BUGFIXES ---
42 * man(1): do not segfault if /tmp/ is not writeable
43 * man(1): do not access a NULL pointer when both -l and -w are given
45 a symbolic link that points to a directory
46 * man(7): fix an assertion failure caused by doubly nested next-line scopes
47 * tbl(7): fix a crash when the last column is only reached by spans
48 * tbl(7): fix a NULL pointer access in some cases of two spans on one row
49 * tbl(7) -T ascii: fix a NULL pointer access on empty data cells
50 * tbl(7) -T ascii: fix a NULL pointer access on a line next to a short row
51 * tbl(7): fix an assertion failure caused by excessive spacing modifiers
52 * tbl(7): fix an infinite loop for some overlapping horizontal spans
53 * roff(7): fix a rare case of writing one byte past the end of the input buffer
54 * roff(7): do not call abort(3) when \*[.T] is encountered
55 * roff(7): fix an assertion failure caused by a macro inside .ce .if
56 * roff(7): fix assertion failures for .ti and .po with excessive arguments
57 * roff(7): avoid near-infinte output for .ce inside explicit no-fill mode
58 * -T ascii/utf8: fix assertion failures caused by excessive spacing
59 * -T html: fix an assertion failure caused by .ft in rare situations
60 * -T man: fix an assertion failure caused by tbl(7) and eqn(7) input
61 --- PORTABILITY IMPROVEMENTS ---
62 * rename HOMEBREWDIR to READ_ALLOWED_PATH, allow it to contain more than
63 one directory, and explain how to use that for NixOS and GNU Guix Linux
64 * configure: stop trying to ask make(1) what the default compiler is
70 * in regress.pl, avoid the non-portable options sed(1) -i and echo(1) -n
72 --- MINOR FUNCTIONAL IMPROVEMENTS ---
73 * man(1) -h: for pages lacking a SYNOPSIS, show the NAME section
74 * man(1): when the first argument starts with a digit, optionally
78 * man(1): with a specific section requested, try harder to find
80 1. The section in both the directory name and the file name matches exactly.
84 * man(1): if no tags were generated at all, unlink(2) the empty tags file
85 as soon as the condition can be detected and do not pass it to less(1)
90 * mdoc(7): let .Dd concatenate all arguments and default to the empty string
91 * mdoc(7): convert ".Fl Fl" to ".Fl \-" during validation, improving -T html
92 * mdoc(7): improve output of .At 32v
93 * man(7): no longer print multiple blank lines before NAME and page footer
94 * tbl(7) -T utf8: improved rendering of horizontal lines
95 * tbl(7) -T html: in "n" cells, align by padding numbers on the right
96 * tbl(7): no longer leak tabulator settings to subsequent roff(7) code
97 * mdoc(7) -T html: for .Bl -tag, use "column-count: 1" rather
98 than "overflow: auto" to avoid the ugly side effects
99 * mdoc(7) -T html: render .Bd -unfilled in proportionally-spaced font
100 * mdoc(7) -T html: format .Nd with <span> rather than <div>
101 * mdoc(7) -T lint: do not warn about Mdocdate without an actual date
102 * mdoc(7) -T lint: do not complain about function types of the
104 * -T html: append .html suffix to temporary files to please browsers
105 * -T markdown: print a BAGARG message if called on man(7) input
106 --- MINOR BUGFIXES ---
107 * man(1): do the search for each name independently, and
109 * man(1): escape shell wildcard characters in name arguments before glob(3)
110 * man(1): when asking for a single manual page by name, prefer file name
112 matches, but do not change the ordering for apropos(1) nor for man -a
113 * man(1): correctly extract the section name from the file name extension
117 * tbl(7): correct handling of T& after horizontal rulers in the layout
118 * tbl(7): correct column widths if rows have different numbers of cells
119 * tbl(7): empty columns are 1n wide rather than 0n
120 * tbl(7): correctly calculate required column widths for tables containing
123 * tbl(7): skip escape sequences when looking for column separators
124 * eqn(7): skip whitespace before tokens
125 * roff(7): when calling an empty macro, do not clobber existing arguments
126 * roff(7): recognize \} on lines closing a macro definition request
127 * roff(7): do not throw a bogus warning for "'br\}" and similar lines
128 * roff(7): stop generating comment nodes when encountering the first content
129 * mandoc_char(7): make \0 (digit-width space) non-breaking
130 * mdoc(7) .Bl -column: parse Macro in .It "word<tab>word" Ta word Macro<eol>
131 * mdoc(7) -T html: display straight quotes, not curly quotes, for .Qq/.Qo
132 * -T html: remove some spurious line breaks, in particular inside <pre>
133 * -T html: use <br/> for a space character at the beginning of an input line
134 * -T html: use ~%d for ordinal fragment suffixes, reserve '~' for that purpose
135 --- STRUCTURAL IMPROVEMENTS ---
139 doing one well-defined task each
144 --- THANKS TO ---
155 * Armin Besirovic for a contribution to mandoc.css
160 * Jan Schreiber for many bug reports found with afl(1)
181 Jamie Landeg-Jones, Kazuo KUROI, and Wynn Wolf Arbor for a bug report
206 --- MAJOR NEW FEATURES ---
207 * apropos(1): improve POSIX compliance by accepting case-insensitive
209 * new -O tag[=term] output option (open a page at the definition of a term)
210 * tbl(7) -T html: spanning and horizontal and vertical alignment of cells
211 * tbl(7) -T html: draw lines on the edges of table cells
212 * tbl(7) -T utf8: render lines with the Unicode box drawing characters
213 * mandoc is now able to handle the manual pages of the groff package.
214 --- MINOR NEW FEATURES ---
215 * -T html: new option -O toc (table of contents)
216 * -T html: second argument to -O man to support local and remote links
217 * mdoc(7) .Bd -centered now fills the text contained in it
218 * man-ext .SY and .YS macros (synopsis block)
219 * man-ext .TQ macro (tagged paragraph without vertical space before it)
220 * tbl(7) \& explicit alignment indicator
221 * roff(7) .shift, .while, and .return requests
222 * roff(7) .char request (output glyph definition)
223 * roff(7) .nop request (no operation)
224 * roff(7) .ft request: handle the CB, CI, and CR fonts
225 * roff(7) .if c conditional (character available)
226 * roff(7) \\$@ escape sequence (insert all macro arguments, quoted)
227 * roff(7) \*(.T predefined string (interpolate output device name)
228 * roff(7) \[charNNN] escape sequence (for printable ASCII characters)
229 * roff(7) \# escape sequence (line continuation with comment)
230 --- HTML OUTPUT SYNTAX CORRECTIONS ---
233 * Stop writing empty list elements for non-compact .Bl -tag lists.
236 --- MINOR FUNCTIONAL IMPROVEMENTS ---
237 * many improvements to the handling of fill and no-fill mode
238 * tbl(7): better column widths in the presence of horizontal spans
239 * several minor improvements to escape sequence handling
240 * several minor improvements to manual font handling
242 * portability: autodetect whether less(1) supports the -T option
244 --- STRUCTURAL IMPROVEMENTS ---
245 * Disentangle eqn(7) and tbl(7) from other parser header files,
248 --- THANKS TO ---
280 --- MAJOR NEW FEATURES ---
283 than trying to imitate their shape. Consequently, such characters
285 limit their use to contexts where they really matter, for example
289 particular all hard-coded indentations and column widths, and
294 (element nesting, URL-fragment syntax, duplicate id= attributes).
295 --- MINOR NEW FEATURES ---
296 * When a man(1) argument contains a slash, imply -l like in man-db.
297 * Use TIOCGWINSZ to reduce the default -Owidth and -Oindent during
300 * Terminal rendering of eqn(7) is improved in several respects.
301 * Simplified and nicer output from the mdoc(7) .Lk macro, formatting
302 all links in-line, even long ones.
303 * roff(7) \n+ and \n- numerical register auto-increment and -decrement
304 * roff(7) .nr optional third argument (auto-increment step size)
305 * Autodetect in ./configure whether the compiler can use -W and -static,
306 allowing to build on Solaris 10 and 11 without any configure.local.
307 --- RELIABILITY BUGFIXES ---
308 * Only activate UTF-8 output when the user really selected UTF-8,
311 * Fix out of bounds accesses to parse buffers that could happen when
312 using renamed or user defined macros after roff(7) conditionals.
313 * Avoid an assertion failure in certain .Bl -column lists.
319 * Fix misformatting of man(7) documents lacking .SH macros
322 --- THANKS TO ---
329 * Mike Williams for teaching me how to use %%DocumentMedia and
331 * Werner Lemberg (groff) for feedback on mdoc(7) language changes.
332 * Colin Watson (man-db) for feedback on man-db semantics.
347 * Sevan Janiyan (NetBSD) for additions to lib.in.
357 --- BUG FIXES ---
358 * man(7): Do not crash with out-of-bounds read access to a constant
360 * mdoc(7): Do not crash with out-of-bounds read access to a constant
362 * tbl(7): Ignore explicitly specified negative column widths rather than
363 wrapping around to huge numbers and risking memory exhaustion.
364 * man(1): No longer use names that only occur in the SYNOPSIS section.
366 --- THANKS TO ---
372 --- MAJOR NEW FEATURES ---
373 * New mdoc(7) -Tmarkdown output mode.
374 * For -Thtml, implement internal hyperlinks pointing to authoritative
375 definitions of various syntax elements, similar to the ctags(1)-like
376 less(1) :t internal searching in terminal mode.
377 * Provide a superset of the functionality of the former mdoclint(1)
378 utility and a new -Wstyle message level with several new messages,
380 * tbl(7): Implement automatic line breaking inside individual table
382 * eqn(7): Complete rewrite of the lexer, resulting in several bugfixes.
384 of syntax tree nodes on the roff(7) level, allowing implementation
386 --- REMOVED FUNCTIONALITY ---
387 * Delete the manpage(1) utility. It was never enabled in any release.
388 * Delete the -Txhtml command line option. It has been an obsolete
389 alias for the -Thtml output mode for more than two years.
390 --- MINOR NEW FEATURES ---
391 * -Tlint now puts parser messages on stdout instead of stderr,
392 making commands like "man -l -Tlint *.1" useful.
393 * mdoc(7): Various .Lk formatting improvements.
394 * mdoc(7) -Thtml: Better CSS for .Bl lists.
395 * man(7): Implement the .MT/.ME block macro (mailto hyperlink).
396 * man(7): Implement the .DT macro (restore default tab positions).
397 * man(7): Improved support for manuals generated with reStructuredText
398 by partial support for the \n[an-margin] number register.
399 * man(7) -Thtml: Support deep linking to .SH and .SS headers.
400 * tbl(7): Implement the "allbox" table option.
401 * tbl(7): Implement the column spacing and the 'w' (minimum column
403 * tbl(7): Significant improvements of the manual page.
404 * eqn(7): Much improved font selection, including recognition of
405 well-known function names, and a few other formatting improvements.
406 * eqn(7) -Thtml: Use <mn> and <mo> in addition to <mi>.
407 * roff(7): Implement the .ce (centering), .mc (margin character),
411 * roff(7) .am: Implement appending to mdoc(7) and man(7) macros.
412 * roff(7): implement the \h (horizontol motion), \l (horizontal
415 * roff(7): Implement the 'd' conditional (macro or string defined).
417 * regress.pl(1): simpler user interface, better summary output,
419 --- THANKS TO ---
426 * Jonathan Gray (OpenBSD) for several bug reports from afl(1)
428 * Theo Buehler (OpenBSD) for several bug reports, most from afl(1).
433 mdoclint(1) functionality to mandoc -Tlint, for suggesting
437 * Thomas Guettler for suggesting -Thtml internal hyperlinks.
450 * Dag-Erling Smoergrav (FreeBSD) for inspiring new warning messages.
454 compatible and for committing some of my patches to groff.
456 Changes in version 1.14.1, released on February 21, 2017
458 --- MAJOR NEW FEATURES ---
459 * apropos(1): Reimplement complete semantic search functionality
462 * man(1): Support more than one tag entry for the same search term,
463 plus some minor improvements to the less(1) :t support.
464 * -Thtml: Use real macro names for CSS classes.
465 Systematic cleanup of and many improvements to mandoc.css.
466 * -Thtml: Produce human readable HTML code by using indentation
471 suite, see regress/regress.pl.1 for details.
472 --- REMOVED FUNCTIONALITY ---
474 * Drop support for manpath(1). Even if your system has manpath(1),
475 it is simpler to use MANPATH_DEFAULT in configure.local for
476 operating system defaults, man.conf(5) for machine-specific
477 modifications, and ${MANPATH}, -m, and -M for user preferences
478 than to bother with the complexity of manpath(1).
479 * makewhatis(8) -p: No longer warn about missing MLINKS since these
481 --- MINOR NEW FEATURES ---
482 * mdoc(7): Warn about invalid punctuation and content below NAME.
483 * mdoc(7): Warn about .Xr lacking the second argument (section).
484 * mdoc(7): Warn about violations of the rule "new sentence, new line".
485 * roff(7): Warn about trailing whitespace at the end of comments.
486 * mdoc(7): Improve rendering of double quotes.
487 * mdoc(7): Always do text production in the validator, never in the
488 formatters. Cleaner, simpler, shorter, helps NetBSD apropos(1)
489 and also makes -Ttree output more useful.
490 * -Ttree: Show metadata and some additional node flags.
491 New -Onoval output option to show the unvalidated tree.
492 --- RELIABILITY BUGFIXES ---
493 * man(1): Make "man -l" work with standard input from a pipe or file,
495 * man(7): Fix out of bounds read access if a text node immediately
497 * mdoc(7): Fix out of bounds read access for .Bl without a type
499 * mdoc(7): Fix out of bounds read access for .Bl -column starting
501 * mdoc(7): Fix syntax tree corruption leading to segfaults caused
503 * man(1): Fix NULL dereference when the first of multiple pages
505 * mdoc(7): Fix syntax tree corruption leading to NULL dereference
506 caused by partial implicit macros inside .Bl -column table cells.
507 * mdoc(7): Fix syntax tree corruption leading to NULL dereference
509 * mdoc(7): Fix syntax tree corruption leading to NULL dereference
510 caused by .Ta following a nested .Bl -column breaking another block.
511 * mdoc(7): Fix syntax tree corruption sometimes leading to NULL
513 * mdoc(7) -Thtml: Fix a NULL dereference for .Bl -column with 0 columns.
514 * mdoc(7): Fix NULL dereference in some specific cases of a
515 block-end macro calling another block-end macro.
516 * mdoc(7): Fix NULL dereference if the only child of the head
517 of the first .Sh was an empty in-line macro.
518 * eqn(7): Fix NULL dereference in the terminal formatter
520 * mdoc(7): Fix an assertion failure for a .Bd without a type that
522 * mdoc(7): Fix an assertion failure that happened for some .Bl -column
523 lists containing a column width of "-4n", "-3n", or "-2n".
524 * mdoc(7): Fix an assertion failure caused by .Bl -column without .It
525 but containing eqn(7) or tbl(7) code.
526 * roff(7): Fix an assertion failure caused by \z\[u00FF] with -Tps/-Tpdf.
527 * roff(7): Fix an assertion failures caused by whitespace inside \o''
529 * -Thtml: Fix an assertion failure caused by -Oman or -Oincludes of
531 --- PORTABILITY IMPROVEMENTS ---
532 * man(1): Do not mix stdio narrow and wide stream orientation
534 * mandoc(1): Autodetect a suitable locale for -Tutf8 mode.
536 * ./configure: Autodetect if nanosleep(3) needs -lrt.
538 * ./configure: Put compiler arguments that may contain -l at the end.
539 --- MINOR BUGFIXES ---
540 * mdoc(7): Fix SYNOPSIS output if the first child of .Nm is a macro.
541 * mdoc(7) -Thtml: Improve formatting of .Bl -tag with short tags.
542 * man(7) -Thtml: Preserve whitespace in .nf (nofill) mode.
543 * mandoc(1): Error out on invalid output options on the command line.
544 --- STRUCTURAL CHANGES, no functional change ---
546 easier to use and reducing the amount of code by a few hundred lines.
547 --- THANKS TO ---
557 most of them found by systematic afl(1) fuzzing.
559 for crucial help in getting .Bl -tag CSS formatting fixed.
561 patch to autodetect a suitable locale for -Tutf8 mode
586 --- MAJOR NEW FEATURES ---
588 * man(1): Leverage less(1) -T and :t in a way resembling ctags(1)
589 to jump to the definitions of various terms inside manual pages.
590 * soelim(1): New implementation by Baptiste Daroussin.
595 --- MAJOR FUNCTIONALLY RELEVANT BUGFIXES ---
596 * mdoc(7): Fix multiple aspects of SYNOPSIS .Nm formatting.
597 * man(1): Fix process group handling, avoiding unclean shutdowns.
598 --- PORTABILITY IMPROVEMENTS ---
603 * Support LDFLAGS, to be used for example for hardening options.
607 * Do not hardcode the path to the more(1) program.
608 --- MINOR NEW FEATURES ---
609 * roff(7): Implement \n(.$ (number of macro arguments).
610 * roff(7): Fully implement \z (do not advance cursor).
611 * roff(7): Implement the `r' conditional (register exists).
612 * roff(7): Implement \\$* (interpolate all arguments).
613 * roff(7): Parse and ignore \, and \/ (italic corrections).
614 * When there is no -m, no -M, no MANPATH and no /etc/man.conf,
615 fall back to /usr/share/man:/usr/X11R6/man:/usr/local/man.
616 * man(1): Give manuals in purely numerical sections priority over
621 * man.cgi(8): Delete the pseudo-manpath "mandoc", assume that
622 apropos(1) and man.cgi(8) are installed in the default manpath.
623 --- RELIABILITY BUGFIXES ---
624 * mdoc(7): Avoid a use after free and an assertion failure when nodes
626 * mdoc(7): Avoid a NULL pointer access when .Bd has no arguments.
627 * mdoc(7): Avoid a NULL pointer access triggered by mismatching end macros.
628 * mdoc(7): Avoid an assertion when .Fo has no argument.
629 * mdoc(7): Avoid an assertion when .Ta<tab> occurs in .Bl -column.
630 * mdoc(7): Avoid an assertion when a body gets broken and has a tail.
631 * roff(7): Avoid an assertion caused by blanks inside \o.
632 * roff(7): Make .so links to gziped manuals work without mandoc.db(5).
633 * tbl(7): Avoid a use after free when the last line of a layout is empty.
634 * eqn(7): Avoid an infinite loop caused by recursive "define".
636 * Fix handling of leading, trailing, and double colons in MANPATH and -m.
637 --- MINOR BUGFIXES ---
638 * mdoc(7): Put arguments to end macros of broken partial explicit blocks
640 * mdoc(7): Let .Dv force normal font.
641 * mdoc(7): Make trailing whitespace significant in .Bl -tag widths.
642 * mdoc(7): Fix macro interpretation around tabs in .Bl -column.
643 * man(7): Use the default width for .RS without arguments.
644 * man(7): On a new RS nesting level, the saved width starts from
646 * man(7): Allow .PD in next-line scope.
647 * man(7): Improve handling of empty .HP.
648 * man(7): Improve formatting of .br and .sp inside .HP.
649 * man(7): Do not mistreat empty arguments to font alternating
651 * man(7): Allow fill mode changes in tagged paragraph next-line scope.
652 * man(7): Fix minor bugs in block rewinding and simplify the related code.
653 * man(7): Add missing line breaks before subsection headers.
654 * man(7): Give section and subsection headers hanging indentation.
655 * man(7): Make trailing whitespace significant in .TP widths.
656 * roff(7): Don't allow breaking the output line after hyphens
658 * roff(7): Ignore blank characters at the beginning of conditional blocks.
659 * roff(7): Escape breakable hyphens only after handling input line traps.
660 * roff(7): Reject \[uD800] to \[uDFFF] (surrogates) in the parser.
661 * tbl(7): Allow more than one data field after T} on the same input line.
662 * terminal output: Apply bold and italic to non-ASCII Unicode codepoints.
664 * HTML output: Render ASCII_NBRSP as "&nbsp;", not "-".
665 * man(1): Do not match the first part of a name if it continues with a dot.
666 * man(1): Keep working even if the current directory is unusable.
667 * man(1): Better error message when $PAGER is invalid.
669 * apropos(1): Print "nothing appropriate" to stderr when appropriate.
670 * apropos(1): Abort with a useful error message when elementary
672 --- STRUCTURAL CHANGES, no functional change ---
673 * mdoc(7) and man(7): Unified data structures struct roff_node etc.
674 * mdoc(7) and man(7): Unified node handling library in roff.c.
675 * mdoc(7) and man(7): Seperate validation phase from parsing.
676 * roff(7): Major character table cleanup.
677 * Link with libz rather than forking gunzip(1).
678 --- THANKS TO ---
679 * Baptiste Daroussin (FreeBSD) for the new soelim(1)
687 * Jonathan Gray (OpenBSD) for yet more testing with afl(1)
708 Daniel Levai, Fabian Raetz, Jan Stary, Jean-Yves Migeon,
719 --- MAJOR NEW FEATURES ---
720 * When a manual is missing from an outdated database, let man(1)
722 * Use this to always provide man(1), even without database support.
725 * New -Wunsupp message level.
726 --- POTENTIONALLY SECURITY RELEVANT BUGFIXES ---
728 http://mandoc.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.241
730 http://mandoc.bsd.lv/cgi-bin/cvsweb/roff.c#rev1.247
732 http://mandoc.bsd.lv/cgi-bin/cvsweb/mdoc_macro.c#rev1.180
733 --- MAJOR FUNCTIONALLY RELEVANT BUGFIXES ---
734 * Let man(1) show manuals for the current architecture by default,
736 * Fix the man(1) and apropos(1) -m option, it didn't work at all.
740 --- PORTABILITY IMPROVEMENTS ---
742 * Avoid forward reference to enum type which violates ISO C99.
743 * Support homebrew-style linking on Mac OS X.
744 --- MINOR NEW FEATURES ---
745 * lookup: Accept digit+letter and "n" as section names in man(1),
747 * lookup: Speed up -s/-S by using the "mlinks" rather than the "keys" table.
749 * input: New stricter and more resilient UTF-8 parser.
750 * mdoc(7): Refactor block rewinding for simpler and more robust parsing.
751 * man(7): Use the -Ios option when .TH has less than four arguments.
752 * tbl(7): Implement the "center" option.
753 * tbl(7): New option and format parsers, improved in many respects.
754 * roff(7): Basic implementation of the \o escape sequence (overstrike),
756 * Message improvements, in particular for, but not restricted to,
757 eqn(7), tbl(7), and wrong numbers of arguments in mdoc(7) and man(7),
759 * Delete the -V option. It serves no purpose but keeps confusing people.
761 --- RELIABILITY BUGFIXES ---
762 * tbl(7): Fix a read buffer overrun on 'f' at EOL in a layout.
763 * roff(7): Fix a read buffer overrun on incomplete numerical conditions.
764 * mdoc(7): Fix a NULL pointer access on .Nd followed by an explicit block.
765 * mdoc(7): Fix a NULL pointer access on .It Xo without .Xc.
766 * mdoc(7): Fix a NULL pointer access on .Eo without a tail.
767 * mdoc(7): Fix a NULL pointer access in the validation of empty .St macros.
768 * man(7)/tbl(7): Fix a NULL pointer access on .TS right after .TP.
769 * tbl(7): Fix a NULL pointer access on layout lines without any cells.
770 * eqn(7): Fix NULL pointer accesses in the terminal formatter.
771 * roff(7): Fix a NULL pointer access on trailing \s-/\s+ without an argument.
773 * roff(7): Don't let the modulo operator divide by zero.
774 * input: Fix an assertion failure on certain invalid UTF-8 input.
776 * mdoc(7): Fix assertion failures and endless loops on invalid block closing.
777 * mdoc(7): Fix an assertion failure on .Bl .Sm not followed by .It.
778 * mdoc(7): Fix an assertion failure on .Bl -column ... .El .Ta.
779 * tbl(7): Fix assertion failures by macros inside table data,
784 --- MINOR BUGFIXES ---
785 * mdoc(7): Fix parsing of badly nested blocks with multiple identical blocks.
786 * mdoc(7): Support negative indentations for displays and lists.
787 * mdoc(7): Don't mistreat negative .sp arguments as large positive ones.
788 * mdoc(7): Some spacing fixes for .Eo/.Ec.
789 * man(7): Support negative horizontal widths.
790 * man(7): Do not print out invalid .IP arguments.
791 * man(7): Correctly handle scaling units after .PD.
792 * man(7): Support .RE with an argument.
793 * man(7): Fix restoring indentation after .RS with large negative arguments.
794 * tbl(7): Prevent tables from breaking the filling of preceding text.
795 * tbl(7): Fix vertical spacing at the beginning of tables.
796 * tbl(7): Parser and formatter fixes for line drawing and font modifiers.
797 * tbl(7): Correct handling of blank data lines.
798 * eqn(7): Add sometimes missing whitespace before equation output.
799 * roff(7): Fix vertical scaling, most of it was wrong.
800 * roff(7): Slightly improve \w width measurements.
801 * roff(7): Accept the historic aliases \s10 to \s39 for \s(10 to \s(39.
802 * roff(7): Correctly escape quotes when expanding macro arguments.
803 * roff(7): Correctly handle scaling units in numerical expressions,
804 and some other improvements to the parsing of numerical expressions.
805 * roff(7): Three minor fixes with respect to evaluation of conditionals.
806 * roff(7): Let .it accept numerical expressions, not just constants.
807 * mandoc_char(7): Correct some character names and renderings.
808 * If earlier files set a non-zero exit status, never reset it to zero.
809 --- THANKS TO ---
812 * Theo de Raadt (OpenBSD) for suggesting the main new feature (man(1) file
814 * Theo Buehler for an important bug report (-s/-S slowness)
819 important bug reports (architecture and man -m, respectively).
820 * Thomas Klausner (NetBSD) for proposing a new feature (man(7) -Ios),
834 --- MAJOR NEW FEATURES ---
835 * Include an implementation of man(1), the manual page viewer.
837 command names, including new options -a (format all), -c (no
838 pager), -h (synopsis only), and -w (list filenames).
841 * Support UTF-8 and Latin-1 input by the whole toolset, delete preconv(1).
842 * Switch the default output mode from -Tascii to -Tlocale.
843 * Improve -Tascii output for Unicode escape sequences.
844 * Let the -Thtml output mode produce polyglot HTML5.
845 * Many improvements for eqn(7), in particular in-line equations,
846 MathML output in -Thtml mode, and much improved terminal formatting.
847 --- PORTABILITY IMPROVEMENTS ---
848 * Change the build sequence to the usual ./configure; make; make install.
853 --- MINOR NEW FEATURES ---
854 * Rudimentary implementation of the e, x, and z tbl(7) layout
855 modifiers to equalize, maximize, and ignore the width of columns.
856 * Implement font modifiers in tbl(7) layouts.
857 * Allow comma-separated options in the tbl(7) options line.
858 * Parse and ignore the .pl (page length) roff(7) request.
859 * Implement .An -[no]split for the mdoc(7) -Thtml output mode.
864 * Warn about attempts to call non-callable macros.
866 --- BUGFIXES ---
877 * Fix a division by zero in the roff(7) parser.
878 * Prevent negative arguments to .ll from causing integer underflow.
880 * Multiple fixes with respect to .Bd and .Bl -offset and -width.
881 * Many bugfixes with respect to scaling units.
882 * Multiple fixes with respect to delimiter handling by in-line macros.
883 * Multiple fixes with respect to .Pf.
884 * Make \c work properly in no-fill mode.
886 --- THANKS TO ---
887 * Kristaps Dzonsons for rewriting the eqn(7) parser, implementing
901 Changes in version 1.13.1, released on August 10, 2014
903 --- MAJOR NEW FEATURES ---
904 * A complete apropos(1)/makewhatis(8)/man.cgi(8) suite
906 * The roff(7) parser now provides an almost complete implementation
909 Almost all fatal errors were downgraded to normal errors and some
910 even to warnings. Almost all messages now mention the macro where
912 The mandoc(1) manual now includes a list explaining all messages.
913 --- MINOR NEW FEATURES ---
914 * The roff(7) parser now supports the .ami (append to macro with
915 indirectly specified name), .as (append to user-defined
918 * The roff(7) parser now supports string comparison and numerical
925 * The roff parser now supports expansion of user-defined strings
927 * The roff(7) parser now handles some pre-defined read-only
928 number registers that occur in the pod2man(1) preamble.
929 * For backward compatibility, the mdoc(7) parser and formatters
931 * The mdoc(7) formatter non partially supports .Bd -centered.
932 * tbl(7) now handles leading and trailing vertical lines.
935 * The mdoc(7) manual now explains how various standards
936 supported by the .St macro are related to each other.
937 --- BUGFIXES ---
938 * In the roff(7) parser, several bugs were fixed with respect
939 to closing conditional blocks on macro lines.
940 * Parsing of roff(7) identifiers and escape sequences was improved
942 * In the mdoc(7) parser, the handling of defective document
944 * The mdoc(7) parser no longer skips content before the first section
945 header, and it no longer deletes non-.% content from .Rs blocks.
946 * In the mdoc(7) parser, a crash was fixed related to weird .Sh headers.
947 * In the mdoc(7) parser, handling of .Sm with missing or invalid
949 * In the mdoc(7) parser, trailing punctuation at the end of partial
950 implicit macros no longer triggers end-of-sentence spacing.
954 fixed that sometimes caused an off-by-one error in indentation.
955 * In the UTF-8 formatter, rendering of accents, breakable hyphens,
956 and non-breakable spaces was corrected.
959 * In the mdoc(7) formatter, rendering of .Ex and .Rv was
961 * In the mdoc(7) formatter, handling of empty .Bl -inset item
963 * In the man(7) formatter, some bugs were fixed with respect
964 to same-line detection in the context of .TP and .nf macros,
966 * The mandoc(3) library no longer prints to stderr.
967 --- THANKS TO ---
970 Jason McIntyre (OpenBSD), Jeremie Courreges-Anglas (OpenBSD),
980 * In the mdoc(7) SYNOPSIS, line breaks and hanging indentation
982 Thanks to Franco Fichtner for doing part of the work.
983 * The mdoc(7) .Bk macro got some addititonal bugfixes.
984 * In mdoc(7) macro arguments, double quotes can now be quoted
985 by doubling them, just like in man(7).
986 Thanks to Tsugutomo ENAMI for the patch.
987 * At the end of man(7) macro lines, end-of-sentence spacing
988 now works. Thanks to Franco Fichtner for the patch.
989 * For backward compatibility, the man(7) parser now supports the
990 man-ext .UR/.UE (uniform resource identifier) block macros.
991 * The man(7) parser now handles closing blocks that are not open
993 * The man(7) parser now ignores blank lines right after .SH and .SS.
994 * In the man(7) formatter, reset indentation when leaving a block,
996 * The roff(7) .nr request now supports incrementing and decrementing
998 first non-digit character.
999 * The roff(7) parser now supports the alternative escape sequence
1001 * The roff(7) parser now parses and ignores the .fam (font family)
1004 * The roff(7) manual got a new ESCAPE SEQUENCE REFERENCE.
1008 * The mdoc(7) to man(7) converter, to be called as mandoc -Tman,
1010 * The mandoc(1) utility now supports the -Ios (default operating system)
1011 input option, and the -Tutf8 output mode now actually works.
1013 starting to build new ones, but only replaces them when the build
1015 * The man(7) parser now supports the PD macro (paragraph distance),
1016 and (for GNU man-ext compatibility only) EX (example block) and EE
1019 * The roff(7) parser now supports the \f(BI (bold+italic) font escape,
1023 * In mdoc(7), several bugs were fixed related to UTF-8 output of quoting
1026 bugfixes related to the handling of syntax errors like badly nested
1028 blocks, and non-text children of Nm blocks.
1029 * In tbl(7), the width of horizontal spans and the vertical spacing
1030 around tables was corrected, and in man(7) files, a crash was fixed
1033 gmdiff, a very small, very simplistic groff-versus-mandoc output
1037 Changes in version 1.12.1, released on March 23, 2012
1039 * Significant work on apropos(1) and mandocdb(8). These tools are now
1040 much more robust. A whatis(1) implementation is now handled as an
1041 apropos(1) mode. These tools are also able to minimally handle
1042 pre-formatted pages, that is, those already formatted by another
1044 * The man.cgi(7) script is also now available for wider testing.
1046 HTML output is generated on-the-fly by libmandoc or internal
1047 methods to convert pre-formatted pages.
1054 * This version features a new, work-in-progress mandoc(1) output mode:
1055 -Tman. This mode allows a system maintainer to distribute man(7)
1056 media for older systems that may not natively support mdoc(7), such
1058 * The -Ofragment option was added to mandoc(1)'s -Thtml and -Txhtml modes.
1059 * While adding features, an apropos(1) utility has been merged from the
1060 mandoc-tools sandbox. This interfaces with mandocdb(8) for semantic
1061 search of manual content. apropos(1) is different from the traditional
1064 syntax for apropos is likely to change as it settles down.
1065 * In documentation news, the mdoc(7) and man(7) manuals have been
1067 moving the gory details of the LANGUAGE SYNTAX to the roff(7) manual,
1068 and by moving the very technical MACRO SYNTAX sections down to the
1070 * Furthermore, for tbl(7), the -Tascii mode horizontal spacing of tables
1071 was rewritten completely. It is now compatible with groff(1), both
1073 * Nesting of indented blocks is now supported in man(7), and several
1075 * The page headers in mdoc(7) are now nicer for very long titles.
1077 Changes in version 1.11.7, released on September 2, 2011
1079 * Added demandoc(1) utility for stripping away macros and escapes.
1080 This replaces the historical deroff(1) utility.
1081 * Also improved the mdoc(7) and man(7) manuals.
1085 * Handling of tr macro in roff(7) implemented. This makes Perl
1087 man(7) format documents. Many other general improvements have been
1092 * Significant eqn(7) improvements. mdocml can now parse arbitrary eqn
1094 low-level roff with eqn). See the eqn(7) manual for details.
1095 For the time being, equations are rendered as simple in-line text.
1102 * Bug-fixes and clean-ups across all systems, especially in mandocdb(8)
1103 and the man(7) parser. This release was significantly assisted by
1108 * Introduce locale-encoding of output with the -Tlocale output option and
1109 Unicode escaped-character input. See mandoc(1) and mandoc_char(7),
1110 respectively, for details. This allows for non-ASCII characters (e.g.,
1111 \[u5000]) to be rendered in the locale's encoding, if said environment
1112 supports wide-character encoding (if it does not, -Tascii is used
1114 -DUSE_WCHAR in the Makefile, in which case -Tlocale is always a synonym
1115 for -Tascii.
1116 * Furthermore, multibyte-encoded documents, such as those in UTF-8, may
1117 be on-the-fly recoded into mandoc(1) input by using the newly-added
1118 preconv(1) utility. Note: in the future, this feature may be
1119 integrated into mandoc(1).
1123 * Corrected some installation issues in version 1.11.1.
1124 * Further migration to libmandoc.
1129 Changes in version 1.11.1, released on April 4, 2011
1133 real manuals, from line-handling to tbl(7) parsing.
1141 * Initial eqn(7) functionality is in place. For the time being,
1142 this is limited to the recognition of equation blocks;
1145 Changes in version 1.10.9, released on January 7, 2011
1147 * Many back-end fixes have been implemented: argument handling (quoting),
1148 man(7) improvements, error/warning classes, and many more.
1149 * Initial tbl(7) functionality (see the "TS", "TE", and "T&" macros in
1150 the roff(7) manual) has been merged from tbl.bsd.lv. Output is still
1151 minimal, especially for -Thtml and -Txhtml, but manages to at least
1152 display data. This means that mandoc(1) now has built-in support
1153 for two troff preprocessors via libroff: soelim(1) and tbl(1).
1157 * Overhauled the -Thtml and -Txhtml output modes. They now display
1158 readable output in arbitrary browsers, including text-based ones like
1159 lynx(1). See HTML and XHTML manuals in the DOCUMENTATION section
1160 for examples. Attention: available style-sheet classes have been
1164 * see also the changes in 1.10.7
1166 Changes in version 1.10.7, December 6, 2010, NOT released
1169 * many new roff(7) components,
1170 * in-line implementation of troff's soelim(1),
1171 * broken-block handling,
1177 * Calling conventions for mandoc(1) have changed: -W improved and -f
1179 * Non-ASCII characters are also now uniformly discarded.
1183 * Lastly, pod2man(1) preambles are now fully accepted after some
1184 considerable roff(7) and special character support.
1188 * Primarily a bug-fix and polish release, but including -Tpdf support
1189 in mandoc(1) by way of "Summer of Code". Highlights:
1191 * fix end-of-sentence handling for embedded sentences
1192 * polish man(7) documentation
1193 * document all mdoc(7) macros
1194 * polish mandoc(1) -Tps output
1195 * lots of internal clean-ups in character escapes
1196 * un-break literal contexts in man(7) documents
1197 * improve -Thtml output for -man
1198 * add mandoc(1) -Tpdf support
1204 * minimal "ds" roff(7) symbols are supported
1206 * acceptance of scope-block breakage in mdoc(7)
1208 * many minor bug-fixes and formatting issues resolved
1213 * variable font-width and paper-size support in mandoc(1) -Tps output
1214 * "Bk" mdoc(7) support
1218 * Small release featuring text-decoration in -Tps output,
1221 Changes in version 1.10.1, released on June 7, 2010
1224 mdoc(7). Multi-line column support is now fully compatible with groff,
1226 * Removed manuals(7) in favour of http://manpages.bsd.lv.
1229 to groff's method.
1230 * Furthermore, the -Owidth=width output option has been added to -Tascii,
1231 see mandoc(1).
1232 * Lastly, initial PostScript output has been added with the -Tps option
1233 to mandoc(1). It's brutally simple at the moment: fixed-font, with no
1238 * Release consisting of the results from the m2k10 hackathon and up-merge
1239 from OpenBSD. This requires a significant note of thanks to Ingo
1241 and again to Joerg for hosting m2k10. Highlights (mostly cribbed from
1244 roff(7) instructions;
1245 * end-of-sentence (EOS) detection in free-form and macro lines;
1246 * correct handling of tab-separated columnar lists in mdoc(7);
1247 * improved main calling routines to optionally use mmap(3) for better
1249 * cleaned up exiting when invoked as -Tlint or over multiple files
1250 with -fign-errors;
1251 * error and warning message handling re-written to be unified for
1253 * handling of badly-nested explicit-scoped macros;
1254 * improved free-form text parsing in libman and libmdoc;
1255 * significant GNU troff compatibility improvements in -Tascii,
1259 * support for -Tascii breaking at hyphens encountered in free-form text;
1265 * Backed out -fno-ign-chars (pointless complexity).
1267 * Fixed SYNOPSIS breaking lines before non-initial macros.
1269 * Most importantly, the framework for end-of-sentence double-spacing is
1270 in place, now implemented for the "end-of-sentence, end-of-line" rule.
1271 * This is a stable roll-back point before the mandoc hackathon in Rostock!
1275 * Rolled back break-at-hyphen.
1276 * -DUGLY is now the default (no feature splits!).
1277 * Free-form text is not de-chunked any more: lines are passed
1278 whole-sale into the front-end, including whitespace.
1281 Changes in version 1.9.23, released on April 7, 2010
1283 * mdocml has been linked to the OpenBSD build.
1285 by OpenBSD, allowing crufty manuals to slip by with warnings instead
1286 of erroring-out.
1289 * Lastly, some issues with -Thtml have been fixed, which prompted an
1290 update to the online manual pages style layout.
1296 for non-columnar lists) to work properly. This isn't
1297 enabled by default: you must specify -DUGLY as a compiler
1302 * More efforts to get roff instructions in man(7) documents under
1303 control. Note that roff instructions embedded in line-scoped,
1304 next-line macros (e.g. "B") are not supported.
1305 * Leading punctuation for mdoc(7) macros, such as "Fl ( ( a",
1310 * Many fixes (largely pertaining to scope)
1311 and improvements (e.g., handling of apostrophe-control macros,
1313 to handling roff instructions in man(7) documents.
1317 * Accept perlpod(1) standard preamble.
1324 allowed man(7) to accept non-printing elements to be nested
1325 within next-line scopes, such as "br" within "B" or "TH",
1331 * Moved to our new BSD.lv home.
1332 * XHTML is now an acceptable output mode for mandoc(1);
1336 * end-of-line white-space detected for all lines;