summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Do not test .Xr here. It is not what this directory should focus on,Ingo Schwarze2017-07-286-28/+20
| | | | and it is causing too much trouble in -portable.
* Fix a typo that caused a non-constant stringIngo Schwarze2017-07-261-2/+1
| | | | | to be passed as a format string; no functional change; reported by Michael <Stapelberg at debian>.
* Cast the return value of chdir(2) to void. We already have a commentIngo Schwarze2017-07-261-1/+1
| | | | | | above explaining to human auditors why no error checking is needed here, so it's only fair to tell the compiler, too. Worried compiler reported by Michael <Stapelberg at debian>.
* two more entries from the mdoclint TODO, clerified by wiz@Ingo Schwarze2017-07-241-1/+10
|
* migrate the mdoclint(1) TODO list here, from pkgsrcIngo Schwarze2017-07-221-0/+13
|
* Avoid cross reference to mandoc(1) because it may cause a messageIngo Schwarze2017-07-206-12/+12
| | | | | on other operating systems where mandoc is not installed, causing the test to fail in the portable test suite.
* more renaming from mdocml to mandocIngo Schwarze2017-07-203-13/+13
|
* mention -Tlint to stdoutIngo Schwarze2017-07-201-0/+2
|
* MAP_PRIVATE is pointless without PROT_WRITEIngo Schwarze2017-07-201-5/+0
|