summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix the mandoc_strndup() utility function. All existing callers seemIngo Schwarze2018-02-071-3/+3
| | | | | safe so far, but implementing it with an unchecked memcpy(3) is just wrong and quite dangerous.
* fix wrong dateIngo Schwarze2018-02-072-2/+2
|
* Delete the "no blank before trailing delimiter" check from theIngo Schwarze2018-02-0610-24/+8
| | | | | partial explicit macros. Leah Neukirchen <leah at vuxu dot org> rightfully points out that the check makes no sense for these macros.
* Remove the implicit display feature of .Lk because it was inconsistentIngo Schwarze2018-01-133-20/+2
| | | | | | | | | across output devices, counter-intuitive, and resulted in ugly output for many real-world manual pages. Always format even long links in-line. I already committed a similar change to groff. OK jmc@, bentley@, and the original author of the feature, Werner Lemberg <wl@gnu.org>.
* typo; from Alexander Kuleshov <kuleshovmail at gmail dot com>Ingo Schwarze2017-12-151-1/+1
|
* Recognize .Bl -column at parse time, and not only at validation time,Ingo Schwarze2017-11-291-9/+14
| | | | | | | even if other arguments precede -column. This is required because the .It parser needs to know whether or not we are a -column list. Fixes tree corruption leading to an assertion failure. Bug reported by bentley@.
* duplicate word, found by igor(1)Ingo Schwarze2017-11-281-1/+1
|
* streamline termp allocation: this will allow the init functionIngo Schwarze2017-11-101-14/+5
| | | | | to do things differently in the ps vs pdf case; from espie@
* be less assertive when warning about a possible typo;Ingo Schwarze2017-11-103-3/+3
| | | | from jca@, ok jmc@
* Shrink -Tps output by more than 50%Ingo Schwarze2017-11-022-15/+37
| | | | | | | | by using PostScript as a programming language. * Define and use one PostScript procedure to select each font. * Define and use procedures combining "use" and "show". * In one of these, reuse the current row if it did not change. Most ideas and most coding by espie@, tweaked by me.
* Print a human-readable media name in the %%DocumentMedia DSC commentIngo Schwarze2017-10-291-10/+27
| | | | | | | | | and use the setpagedevice PostScript operator to help printers automatically select the paper of the best matching PageSize. Many thanks to Mike Williams <obsd1 at eandem dot co dot uk> for teaching me about the relevant features of PostScript and DSC and for suggesting what to put into the first %%DocumentMedia argument.
* duplicate anchorsIngo Schwarze2017-10-281-0/+4
|
* more readable conversion of paper size from millimeters to PostScriptIngo Schwarze2017-10-261-2/+2
| | | | basic units, also slightly more precise
* The page footer line (psmarg) is created in ps_begin(), and theIngo Schwarze2017-10-251-2/+0
| | | | | | | | | | | last call writing to it is always ps_endline(), which ends with ps_pclose(), which prints "ET" (end text). Consequently, do not print another instance of "ET" in ps_closepage() after the footer line and before the "endstream" for the page. Fixing a PDF syntax error found while investigating the bug report from Jan Stary that also resulted in the previous commit.
* Properly close out the top-level Font object, the end-of-pageIngo Schwarze2017-10-251-3/+3
| | | | | | | Resource objects, and the Catalog object, fixing three PDF syntax errors that were present in every PDF file generated with mandoc since the initial checkin of the formatter in July 2010. Bug reported by Jan Stary <hans at stare dot cz> on misc@.
* Modernize documentation of .Ao and .Aq.Ingo Schwarze2017-10-231-15/+39
| | | | | | | | | | | | I looked through our whole tree and failed to find a single use that is really convincing, except those with .Mt. Putting it around character and key names is somewhat widespread and maybe acceptable, even if hardly useful. So for now, delete the bogus examples and explain what these macros are really used for. Discourage the most common abuses. Triggered by a question from Raf Czlonka <rczlonka at gmail dot com>.
* HISTORY: mention first appearance in OpenBSDIngo Schwarze2017-10-171-1/+3
|
* Do not segfault when there are two .Dt macros, the first withoutIngo Schwarze2017-09-121-1/+4
| | | | | an architecture argument and the second with an invalid one. Bug found by jsg@ with afl(1).
* typo: convertion -> convention; from dcoppa@Ingo Schwarze2017-09-071-1/+1
|
* fix a NULL pointer access on deroff() failure;Ingo Schwarze2017-09-061-0/+2
| | | | | could be triggered with '.SS ""'; reported by Michael <Stapelberg at debian>
* fix grammar; while here, improve spacing; from sobrado@Ingo Schwarze2017-09-041-1/+1
|
* format ".IP *" etc. as <ul> rather than <dl>Ingo Schwarze2017-09-021-0/+4
|
* Fix previous: mmap(2) returns MAP_FAILED on failure, not NULL.Ingo Schwarze2017-08-261-5/+5
| | | | Bug pointed out by tedu@.
* Do not fork and exec cmp(1); instead, simply fstat(2), mmap(2), andIngo Schwarze2017-08-261-39/+51
| | | | | | compare the files directly, allowing a much stricter pledge(2), at very little cost: merely 15 additional lines of very simple code. Suggested by George Brown <321 dot george at gmail dot com> on misc@.
* No need to fork and exec rm(1) -rf, we know that we have exactlyIngo Schwarze2017-08-261-20/+3
| | | | | | | | | one file and exactly one directory to remove. While here, increase the size of the buffer such that the file name actually fits. Minus 17 lines of code, no functional change. Opportunity for simplification reported by George Brown <321 dot george at gmail dot com> on misc@.
* remove spacing after another representation of unary minusIngo Schwarze2017-08-231-2/+4
|
* remove spacing after unary minusIngo Schwarze2017-08-231-2/+4
|
* eliminate white space after opening and before closing punctuationIngo Schwarze2017-08-234-5/+11
|
* use the tty-char macro file for ASCII comparisonsIngo Schwarze2017-08-231-1/+1
|
* Suppress spacing before certain kinds of lists.Ingo Schwarze2017-08-232-3/+13
| | | | | | | One benefit is a reduced probablity that a blank appears between a function name and the opening parenthesis introducing the arguments. The heuristics isn't perfect and may occasionally suppress a blank that wouldn't do harm.
* Improve ASCII rendering of a few rare character escape sequencesIngo Schwarze2017-08-233-13/+13
| | | | | that can be changed unilaterally because groff fails to render them at all.
* catch up with ASCII renderings in chars.c rev. 1.72Ingo Schwarze2017-08-2321-113/+118
|
* Switch ASCII rendering of the same mathematical symbols and greekIngo Schwarze2017-08-232-82/+82
| | | | | | | | | | letters as in groff commit babca15f from trying to imitate the characters' graphical shapes, which resulted in unintelligible renderings in many cases, to transliterations conveying the characters' meanings. One benefit is making these characters usable for portable manual pages. Solving a problem pointed out by bentley@.
* Correct the mandoc.db(5) requirements of man(1) after the deprecationIngo Schwarze2017-08-221-2/+6
| | | | of MLINKS. Inaccuracy pointed out by espie@.
* When finding a bogus database entry,Ingo Schwarze2017-08-221-0/+10
| | | | | print a meaningful warning and skip the entry. Issue reported by espie@.
* When the stdout stream gets broken, there is no point in readingIngo Schwarze2017-08-211-0/+11
| | | | | | | | | any more input files, and it would be misleading to start a parser, because that would show randomly truncated text. Instead, print an error message and exit the program. Issue found by Leah Neukirchen <leah at vuxu dot org>, who was surprised to see half a manpage when her /tmp/ overflew.
* sync with FreeBSD;Ingo Schwarze2017-08-201-6/+16
| | | | suggested by Sevan Janiyan <venture37 at geeklan dot co dot uk>
* Delete the lie that $PAGER would only be used with -a or -l; the textIngo Schwarze2017-08-191-5/+0
| | | | was probably copied from mandoc(1) or apropos(1), where it is true.
* document -O mdoc; triggered by a question from jmc@ and OK jmc@Ingo Schwarze2017-08-191-0/+14
|
* Make the "new sentence, new line" check stricter, allowing digitsIngo Schwarze2017-08-111-2/+2
| | | | | | in the last two letters of the last word of the sentence. No false positives in base or Xenocara. Suggested by and OK jmc@.
* Add two EXAMPLES; triggered by a question from jmc@.Ingo Schwarze2017-08-111-0/+10
| | | | Feedback and OK jmc@.
* Explain how to transform markup for the terminal when not using aIngo Schwarze2017-08-091-10/+16
| | | | | | | pager, and how to remove markup. Add related cross references. While here, as suggested by jmc@, replace the excessive cross references to the intro pages by a more relevant one to mandoc(1). Triggered by a question from, using feedback from, and OK jmc@.
* release 1.14.3VERSION.1.14.3Ingo Schwarze2017-08-052-1/+16
|
* No longer use names that only occur in the SYNOPSIS section as namesIngo Schwarze2017-08-022-23/+51
| | | | | | | | | | | | | | | | | | | | | | | | | for man(1) lookup. For OpenBSD base and Xenocara, that functionality was never intended to be required, and i just fixed the last handful of offenders using it - not counting the horribly ill-designed interfaces engine(3) and lh_new(3) which are impossible to properly document in the first place. Of course, apropos(1) and whatis(1) continue to use SYNOPSIS .Nm, .Fn, and .Fo macros, so "man -k ENGINE_get_load_privkey_function" still works. This change also gets rid of a few bogus warnings "cross reference to self" which actually are *not* to self, like in yp(8). This former functionality was intended to help third-party software in the ports tree and on non-OpenBSD systems containing manual pages with incomplete or corrupt NAME sections. But it turned out it did more harm than good, and caused more confusion than relief, specifically for third party manuals and for maintainers of mandoc-portable on other operating systems. So kill it. Problems reported, among others, by Yuri Pankov (illumos). OK jmc@
* Ignore explicitly specified negative column widths rather thanIngo Schwarze2017-07-312-1/+7
| | | | | wrapping around to huge numbers and risking memory exhaustion; fixes Debian ps(1). Bug reported by Dr. Markus Waldeck.
* Fix an out of bounds read access to a constant array that causedIngo Schwarze2017-07-312-3/+3
| | | | | | | segfaults on certain hardened versions of glibc. Triggered by .sp or blank lines right before .SS or .SH, or before the first .Sh. Found the hard way by Dr. Markus Waldner on Debian and by Leah Neukirchen on Void Linux.
* final tweaks for the 1.14.2 releaseVERSION.1.14.2Ingo Schwarze2017-07-282-13/+19
|
* When the mparse_alloc() prototype changed in read.c 1.179, updatingIngo Schwarze2017-07-281-1/+1
| | | | | | the enum constant was forgotten in this call. No functional change since the mmsg argument is NULL anyway. Found by florian@ with clang.
* fix typo in TERMP_MULTICOL flag test;Ingo Schwarze2017-07-281-1/+1
| | | | patch from florian@, found with clang
* disable .Xr -Tlint test for now,Ingo Schwarze2017-07-281-0/+3
| | | | it causes too much trouble on non-OpenBSD systems