head 1.3; access; symbols pkgsrc-2021Q3:1.2.0.26 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.24 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.22 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.20 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.18 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.16 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.12 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.14 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.10 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.8 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.6 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.4 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.2 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.1.0.10 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.8 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.6 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.4 pkgsrc-2017Q3-base:1.1; locks; strict; comment @# @; 1.3 date 2021.10.21.07.31.48; author wiz; state dead; branches; next 1.2; commitid 8AkJNLhAzEhijEdD; 1.2 date 2018.08.14.09.21.53; author wiz; state Exp; branches; next 1.1; commitid EWSLIRNIzzdNk4OA; 1.1 date 2017.08.01.15.06.24; author wiz; state Exp; branches; next ; commitid uufSqeHmHDglow1A; desc @@ 1.3 log @mandoc: update to 1.14.6. Changes in version 1.14.6, released on September 23, 2021 --- MAJOR NEW FEATURES --- * mdoc(7): automatic tagging improved in many respects * mdoc(7): new .Tg (tag) macro to explicitly mark a place as defining a term * man(7): implement some automatic tagging support * man(1): let -w without argument show the manpath, like in man-db and man-1.6 * -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. * man.conf(5): remove support for the "_whatdb" configuration directive that was deprecated in 2015; please use "manpath" instead --- MINOR NEW FEATURES --- * man(1): switch the default pager from "more -s" to "less" * man(1): in the fallback code to look for manual pages without using mandoc.db(5), accept files "man/." in addition to the already supported "man/name.[01-9]*" * if messages are shown and output is printed without a pager, display a heads-up on stderr at the end because otherwise, users may easily miss the messages * man.cgi(8): add a Content-Security-Policy HTTP header * man.cgi(8): switch off autocomplete and autocapitalize * mandoc.css: support prefers-color-scheme: dark * -T html: add meta viewport element to help mobile devices * -T html -O tag: let this pass a file:// URI to the pager * tbl(7): implement the "nospaces" option * tbl(7) -T html: implement the "a" (em indent) layout specification * tbl(7) -T html: implement the "b" (bold) and "i" (italic) layout modifiers * tbl(7): support two-character font names in the layout font modifier * tbl(7) -T html: support horinzontal rulers in individual cells * tbl(7) -T tree: print more details about columns, options, rows, and cells * roff(7): implement the .break request (break out of a .while loop) * roff(7): support the CB and CI fonts in \f and .ft * -T lint: new STYLE message if a file name extension contradicts .Dt/.TH * -T lint: new STYLE message about overlong text lines * -W style: check .Xr links along the full manpath --- RELIABILITY BUGFIXES --- * man(1): do not segfault if /tmp/ is not writeable * man(1): do not access a NULL pointer when both -l and -w are given * makewhatis(8): do not crash when a manpath directory contains a symbolic link that points to a directory * man(7): fix an assertion failure caused by doubly nested next-line scopes * tbl(7): fix a crash when the last column is only reached by spans * tbl(7): fix a NULL pointer access in some cases of two spans on one row * tbl(7) -T ascii: fix a NULL pointer access on empty data cells * tbl(7) -T ascii: fix a NULL pointer access on a line next to a short row * tbl(7): fix an assertion failure caused by excessive spacing modifiers * tbl(7): fix an infinite loop for some overlapping horizontal spans * roff(7): fix a rare case of writing one byte past the end of the input buffer * roff(7): do not call abort(3) when \*[.T] is encountered * roff(7): fix an assertion failure caused by a macro inside .ce .if * roff(7): fix assertion failures for .ti and .po with excessive arguments * roff(7): avoid near-infinte output for .ce inside explicit no-fill mode * -T ascii/utf8: fix assertion failures caused by excessive spacing * -T html: fix an assertion failure caused by .ft in rare situations * -T man: fix an assertion failure caused by tbl(7) and eqn(7) input --- PORTABILITY IMPROVEMENTS --- * rename HOMEBREWDIR to READ_ALLOWED_PATH, allow it to contain more than one directory, and explain how to use that for NixOS and GNU Guix Linux * configure: stop trying to ask make(1) what the default compiler is because that test was too fragile; just use "cc" by default * configure: various simplifications and improved robustness * configure: only compile compat_*.c implementations that are needed * configure: provide feature tests for __attribute__(()) and mkstemps(3) * compat_*: sync with upstreams for security, functionality, and style * in regress.pl, avoid the non-portable options sed(1) -i and echo(1) -n * in the regression suite, avoid file names that differ only by case --- 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 as 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 * mdoc(7): let .Dd concatenate all arguments and default to the empty string * mdoc(7): convert ".Fl Fl" to ".Fl \-" during validation, improving -T html * mdoc(7): improve output of .At 32v * man(7): no longer print multiple blank lines before NAME and page footer * tbl(7) -T utf8: improved rendering of horizontal lines * tbl(7) -T html: in "n" cells, align by padding numbers on the right * tbl(7): no longer leak tabulator settings to subsequent roff(7) code * mdoc(7) -T html: for .Bl -tag, use "column-count: 1" rather than "overflow: auto" to avoid the ugly side effects * mdoc(7) -T html: render .Bd -unfilled in proportionally-spaced font * mdoc(7) -T html: format .Nd with rather than
* mdoc(7) -T lint: do not warn about Mdocdate without an actual date * mdoc(7) -T lint: do not complain about function types of the form "ret_type (fname)(args)", but otherwise check names more strictly * -T html: append .html suffix to temporary files to please browsers * -T markdown: print a BAGARG message if called on man(7) input --- MINOR BUGFIXES --- * man(1): do the search for each name independently, and show the results in the order of the command line argument * man(1): escape shell wildcard characters in name arguments before glob(3) * 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 * man(1): correctly extract the section name from the file name extension of gzipped manual page files * makewhatis(8): fix file type tests putting wrong data into mandoc.db(5) * man.cgi(8): fix section number in the element for preformatted pages * tbl(7): correct handling of T& after horizontal rulers in the layout * tbl(7): correct column widths if rows have different numbers of cells * tbl(7): empty columns are 1n wide rather than 0n * tbl(7): correctly calculate required column widths for tables containing cells that horizontally span columns which contains "n" (number) formatted cells on other rows * tbl(7): skip escape sequences when looking for column separators * eqn(7): skip whitespace before tokens * roff(7): when calling an empty macro, do not clobber existing arguments * roff(7): recognize \} on lines closing a macro definition request * roff(7): do not throw a bogus warning for "'br\}" and similar lines * roff(7): stop generating comment nodes when encountering the first content * mandoc_char(7): make \0 (digit-width space) non-breaking * mdoc(7) .Bl -column: parse Macro in .It "word<tab>word" Ta word Macro<eol> * mdoc(7) -T html: display straight quotes, not curly quotes, for .Qq/.Qo * -T html: remove some spurious line breaks, in particular inside <pre> * -T html: use <br/> for a space character at the beginning of an input line * -T html: use ~%d for ordinal fragment suffixes, reserve '~' for that purpose --- STRUCTURAL IMPROVEMENTS --- * introduce the concept of semantically transparent syntax tree nodes, allowing improved decisions in various validators and formatters * move some code out of the giant main() into separate functions 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 @ text @$NetBSD: patch-configure,v 1.2 2018/08/14 09:21:53 wiz Exp $ Avoid broken CC detection. --- configure.orig 2018-07-31 15:37:10.000000000 +0000 +++ configure @@@@ -40,7 +40,7 @@@@ MANPATH_DEFAULT="/usr/share/man:/usr/X11 OSNAME= UTF8_LOCALE= -CC=`printf "all:\\n\\t@@echo \\\$(CC)\\n" | env -i make -sf -` +#CC=`printf "all:\\n\\t@@echo \\\$(CC)\\n" | env -i make -sf -` CFLAGS= LDADD= LDFLAGS= @ 1.2 log @mandoc: update to 1.14.4. 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. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.1 2017/08/01 15:06:24 wiz Exp $ @ 1.1 log @Import mandoc-1.14.2 as textproc/mandoc. The mandoc manual page parser and formatter contains: * complete validating parsers for the mdoc and man languages * a slightly incomplete parser handling most of the tbl language * a very incomplete parser handling a part of the eqn language * support for a few selected roff requests that often occur in manuals * complete ASCII, UTF8, HTML and XHTML text output formatters * simple PostScript and PDF output formatters * output formatters producing indented mdoc and man parse trees To format manuals for console display, it can be used as a smaller and faster drop-in replacement for nroff -mandoc. Some rare manuals using lots of uncommon low-level roff requests may not work with mandoc but require a full roff implementation. Changes to mdocml-1.14.1: 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. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.1 2017/03/03 23:00:36 jperkin Exp $ d5 1 a5 1 --- configure.orig 2017-02-21 00:25:20.000000000 +0000 d7 1 a7 1 @@@@ -39,7 +39,7 @@@@ MANPATH_DEFAULT="/usr/share/man:/usr/X11 d13 1 a13 2 CFLAGS="-g -W -Wall -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings" CFLAGS="${CFLAGS} -Wno-unused-parameter" d15 1 @