summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Skipping all escape sequences at the beginning of strings in deroff()Ingo Schwarze2017-01-121-8/+4
| | | | | | | | was too aggressive. There are strings that legitimately begin with an escape sequence. Only skip leading escape sequences representing whitespace. Bug reported by martijn@.
* show meta data for -Ttree outputIngo Schwarze2017-01-122-4/+36
|
* Put compiler arguments that may contain -l at the end; according toIngo Schwarze2017-01-121-2/+2
| | | | | the people at Alpine Linux, gcc 6 seems to fail when it's at the beginning. From Daniel Sabogal via http://git.alpinelinux.org.
* Do text production for .Bt, .Ex, .Rv, .Ud at the validation stageIngo Schwarze2017-01-115-401/+207
| | | | | | | | | rather than in the formatters. Use NODE_NOSRC flag for .Lb and NODE_NOSRC and NODE_NOPRT for .St. Results in a more rigorous syntax tree and in 135 lines less code. This work was triggered by a question from Abhinav Upadhyay <er dot abhinav dot upadhyay at gmail dot com> (NetBSD) on discuss@.
* Use new NODE_NOSRC and NODE_NOPRT flags for .Bx and .At.Ingo Schwarze2017-01-105-99/+50
| | | | More rigorous AST and 40 lines less code.
* For the .Ux/.Ox family of macros, do text production at the validationIngo Schwarze2017-01-106-219/+207
| | | | | stage rather than in each and every individual formatter, using the new NODE_NOSRC flag. More rigorous and also ten lines less code.
* simplify; NODE_ENDED does no harm in man(7)Ingo Schwarze2017-01-101-8/+2
|
* unify names of AST node flags; no change of cpp outputIngo Schwarze2017-01-1015-143/+140
|
* Introduce flags NODE_NOSRC and NODE_NOPRT for AST nodes.Ingo Schwarze2017-01-107-18/+48
| | | | | | | | | Use them to mark generated nodes and nodes that shall not produce output. Let -Ttree output mode display these new flags. Use NODE_NOSRC for .Ar, .Mt, and .Pa default arguments. Use NODE_NOPRT for .Dd, .Dt, and .Os. These will help to make handling of text production macros more rigorous.
* Use stdout rather than stdin for controlling the terminalIngo Schwarze2017-01-092-7/+7
| | | | | | | such that "cat foo.mdoc | man -l" works. Issue reported by Christian Neukirchen <chneukirchen at gmail dot com> and also tested by him on Void Linux with both glibc and musl. The patch makes sense to millert@.
* Clarify how tabs after .It workIngo Schwarze2017-01-091-6/+18
| | | | | | | because this is a really nasty trap for the unwary. Triggered by a question from Abhinav Upadhyay <er dot abhinav dot upadhyay at gmail dot com> (NetBSD) on discuss@.
* The .No macro is not supposed to produce fixed-width font, it is notIngo Schwarze2017-01-091-1/+1
| | | | | the same as .Li, so don't use <code>. Bug reported by <Anton dot Lindqvist at gmail dot com> on tech@.
* Warnings and errors that occur during mdoc_validate()Ingo Schwarze2017-01-094-3/+37
| | | | | | or during man_validate() have to affect the mandoc(1) EXIT STATUS. Many thanks to <Yuri dot Pankov at gmail dot com> (illumos developer) for reporting this regression.
* Indentation must be measured in units of the surrounding text,Ingo Schwarze2017-01-081-8/+8
| | | | | | | | | | not in units of the contained text. Consequently, "display" and "lit" class tags must not be on the same element: First, "display" must set up the indentation, still using the outer units, and only after that, "lit" may change the font. This fixes .Bd -literal which got the wrong indentation. Bug reported by tb@.
* Fix an assertion failure caused by \z\[u00FF] with -Tps/-Tpdf.Ingo Schwarze2017-01-081-2/+14
| | | | Reported by jsg@ after an afl(1) run long ago.
* from Tiago Silva <tiagofilipesilva at icloud dot com> long agoIngo Schwarze2017-01-081-1/+1
|
* Tolerate bare tabs in SYNOPSIS .Cd for now.Ingo Schwarze2017-01-081-1/+2
| | | | | | | It's used in half a dozen pages. Even though i have been thinking about it for years, i still can't suggest anything better. The false positives are annoying.
* Stricter validation of the NAME section, in particular:Ingo Schwarze2017-01-084-19/+36
| | | | | | | - require a comma between names - reject all other text nodes - reject all empty Nm below NAME, not only in the leading position - reject Nm after Nd
* sort options list; from jmc@Ingo Schwarze2017-01-062-10/+10
|
* escape a macro name that is not intended to be calledIngo Schwarze2016-12-281-1/+1
|
* correct spelling error; from jmc@Ingo Schwarze2016-12-281-1/+1
|
* Make the second, section number argument of .Xr mandatory.Ingo Schwarze2016-12-285-6/+30
| | | | | | In fact, we have been requiring it for many years. The only reason to not warn when it was missing was excessive traditionalism - it was optional in 4.4BSD.
* When reporting "whitespace at end of input line" on lines ending withIngo Schwarze2016-12-071-1/+3
| | | | | | roff(7) comments, let the column number in the message point to the end of the line rather than to the beginning of the comment. Improvement suggested by bluhm@.
* sync with NetBSD: add four new libraries;Ingo Schwarze2016-11-231-0/+4
| | | | triggered by a smaller patch from kamil@ via wiz@
* Do not install libmandoc.a by default.Ingo Schwarze2016-11-193-11/+28
| | | | | | The only environment where it is ever needed is NetBSD base. Even NetBSD ports and pkgsrc should better not install it. Triggered by a question from bentley@.
* warn about trailing whitespace at the end of comments;Ingo Schwarze2016-11-101-5/+11
| | | | missing feature noticed by jmc@
* document improved tagging functionalityIngo Schwarze2016-11-081-1/+13
|
* use .Fn in custom sections for tagging, in addition to in DESCRIPTION;Ingo Schwarze2016-11-081-1/+1
| | | | written on the TGV Paris-Strassbourg
* tag leading .Dv, .Li, and .No in .It;Ingo Schwarze2016-11-081-0/+1
| | | | written on the TGV Paris-Strassbourg
* implement tag priority 0, which will tag only keys that appear asIngo Schwarze2016-11-082-5/+35
| | | | | tag candidates exactly once, and use it for .Em and .Sy; written on the TGV Toulouse-Paris
* generate two tag entries from list entries of the formIngo Schwarze2016-11-081-1/+3
| | | | | .It Macro tag1 ... | Macro tag2 ... written on the TGV Toulouse-Paris
* skip leading \& and \e in tagsIngo Schwarze2016-11-081-1/+7
|
* support more than one tag entry for the same search term;Ingo Schwarze2016-11-081-7/+38
| | | | general idea discussed with bcook@ during l2k16
* cast off_t and uint64_t for printf(3)Ingo Schwarze2016-10-222-2/+3
| | | | | | to make sure that widths match on all platforms; from Ed Maste <emaste at freebsd dot org>; OK guenther@
* typo in informational message: s/UTF_LOCALE/UTF8_LOCALE/Ingo Schwarze2016-10-201-1/+1
|
* 0x%llu is a bad idea, make that 0x%llx;Ingo Schwarze2016-10-201-1/+1
| | | | noticed while investigating a report from Ed Maste
* st_size is off_t, which is signed, so use %lld rather than %llu;Ingo Schwarze2016-10-201-1/+1
| | | | noticed by Ed Maste when compiling on FreeBSD
* Avoid the confusion that -a might require a section argument; it does not.Ingo Schwarze2016-10-191-6/+2
| | | | | Triggered by a question from <jmates at ee dot washington at edu>. OK jmc@.
* bring back support for sortingIngo Schwarze2016-10-182-8/+65
|
* sync with OpenBSDIngo Schwarze2016-10-181-16/+11
|
* The termination condition of the iteration logic in page_bymacro()Ingo Schwarze2016-10-181-18/+22
| | | | | | | was overzealous. Consequently, macro=substr and macro~regexp searches only returned all pages containing the first matching macro value, rather than all pages containing any of the matching macro values. Bug reported by tb@ - thanks!
* Compat glue for the FreeBSD comparison function prototype for fts_open(3)Ingo Schwarze2016-10-184-16/+51
| | | | | which differs from what most other systems use. While here, improve diagnostic output of ./configure tests.
* update after rev. 1.5 of dba.cIngo Schwarze2016-10-181-1/+1
|
* Simplify and correct support for reproducible builds, such that databaseIngo Schwarze2016-10-182-37/+28
| | | | | | | | | | entries come in a well-defined order even in the presence of MLINKS. Do this by using the compar() argument of fts_open(3) rather than trying to sort later, which missed some cases. This also shortens the code by a few lines. Diff from Ed Maste <emaste @ FreeBSD>, adapted to our tree and tweaked a bit by me, final version confirmed by Ed.
* link to http://mdocml.bsd.lv/mdoc/ below SEE ALSO;Ingo Schwarze2016-10-111-0/+6
| | | | tweak and OK jmc@
* Delete complicated code dealing with .Bl -tag without -width,Ingo Schwarze2016-10-094-84/+3
| | | | | | | | | | | | and just let it default to -width 6n, which agrees with the traditional -width Ds that is still in widespread use. I just pushed a patch upstream to GNU roff that does the same for groff_mdoc(7). Before, groff contained code that was even more complicated than mandoc, but both resulted in quite different user-visible output. Now, both agree, and output is nicer for both. Useless complication noticed by Carsten Kunze (Heirloom roff).
* We cannot use fputs(3) in passthrough() because the stdout streamIngo Schwarze2016-09-181-4/+14
| | | | | | | | | | | | might be in stdio wide orientation due to prior formatting of an unformatted manual in man -aTutf8 mode. So for now, use fflush(3) followed by unbuffered write(2) instead. Fixes output corruption on glibc discovered on Linux while testing a diff to fix a loosely related bug reported by <jmates at ee dot washington dot edu>. I detest the concept of stdio stream orientation. One day, i will rewrite term_ascii.c to always use narrow streams, even in UTF-8 output mode. But that's too much work for today.
* Make sure an output device is allocated before calling terminal_sepline(),Ingo Schwarze2016-09-181-27/+34
| | | | | | fixing a NULL pointer access that happened when the first of multiple pages shown was preformatted, as in "man -a groff troff". Crash reported by <jmates at ee dot washington dot edu> on bugs@, thanks!
* minor tbl(7) column spacing and wrapping issues in lftp(1)Ingo Schwarze2016-09-131-0/+7
|
* use the proper HTML escape for double quote ("): &quot; not &quote;Ingo Schwarze2016-09-121-1/+1
| | | | patch from bentley@