aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* Correct description of MANPATH, and a few more improvementsIngo Schwarze2017-03-184-34/+81
| | | | to the ENVIRONMENT section; OK jmc@
* Simplify: write HTTP 303 redirects with relative locations.Ingo Schwarze2017-03-183-19/+14
| | | | | | Suggested by bentley@. Delete the HTTP_HOST configuration variable that is now obsolete.
* Bugfix: use SCRIPT_NAME for .Xr hyperlinks.Ingo Schwarze2017-03-181-2/+3
| | | | Patch from <andreas at AndreasVoegele dot com>.
* Document man(1) section selection priority,Ingo Schwarze2017-03-172-7/+32
| | | | | and correct description of apropos(1) output search order. Suggested by tb@.
* Update HISTORY and AUTHORS: we no longer use SQLite.Ingo Schwarze2017-03-171-8/+9
| | | | Outdated information reported by an Anonymous Coward on undeadly.org.
* Fix regression in mdoc_html.c 1.275, man_html 1.134:Ingo Schwarze2017-03-172-6/+10
| | | | | | For .Sh, .Ss, .SH, .SS, only write selflink if an id could be constructed. Crash reported by Raf Czlonka <rczlonka at gmail dot com>, analysis of root cause by natano@
* In URIs in apropos(1) result tables,Ingo Schwarze2017-03-151-4/+7
| | | | only write the manpath if it does not match the default.
* Mention the manual page name and section in the HTML page <title>.Ingo Schwarze2017-03-152-37/+57
| | | | | Based on a patch from <Anton dot Lindqvist at gmail dot com>, but simplified and also covering apropos(1) search results.
* Minimal support for deep linking into man(7) pages.Ingo Schwarze2017-03-155-41/+82
| | | | | As the man(7) language does not provide semantic markup, only .SH, .SS, and .UR become anchors for now.
* It's annoying that people keep writing URIs including redundant partsIngo Schwarze2017-03-152-6/+46
| | | | | like "/OpenBSD-current/manN/". To discourage that, let man.cgi(8) redirect search form results to nice, concise URIs.
* Slightly increase widths calculated from string lengths (mainlyIngo Schwarze2017-03-142-3/+6
| | | | | | | | | | for .Bl -tag lists and SYNOPSIS .Nm blocks), such that the text still fits even if it is printed in bold font. This is an ugly band aid - but implementing font-dependent width measurements would be a major project and even more difficult for HTML than for PostScript. Issue reported by Jan Stary <hans at stare dot cz>.
* Port ctags-style, less(1) :t internal searching from terminal outputIngo Schwarze2017-03-132-12/+87
| | | | | | | | | | to HTML output. For certain macros appearing at the beginning of .It heads, write HTML id="..." attributes such that deep linking works. Write HTML <a> attributes such that you can easily copy out link targets with the mouse. Try: http://man.openbsd.org/vmctl.8#create Feature suggested by <guettliml at Thomas dash Guettler dot de>, some details of the design and implementation by me.
* Print title="..." in addition to id="..." attributes for macro keysIngo Schwarze2017-03-133-51/+63
| | | | | that can be searched for by apropos(1), such that you see the semantic function in a tooltip when hovering with the mouse.
* test infinite recursion in eqn(7) "define" statementsIngo Schwarze2017-03-114-2/+51
|
* Improve detection of recursive eqn(7) "define" statements:Ingo Schwarze2017-03-111-3/+8
| | | | | | Do not only catch "define key 'key other stuff'", but also "define key 'other stuff key'". Fixing infinite loop found by tb@ with afl(1).
* In markdown, autolinks are dangerous. Different compilers disagreeIngo Schwarze2017-03-115-30/+57
| | | | | | | | | | | with respect to what constitutes a valid autolink, and if a compiler deems an autolink invalid, the input turns into an unintended and potentially harmful raw HTML tag. So, never write autolinks. Instead of <link>, write [link](link). Instead of <addr>, write [addr](mailto:addr). Issue pointed out by bentley@, who also agrees with the general direction of the change.
* Really commit some files that failed to get committed in this commit:Ingo Schwarze2017-03-0925-24/+7
| | | | | | | Now that markdown output is tested for almost everything, test all input files in -T markdown output mode by default and only mark those files with SKIP_MARKDOWN that are not to be tested. Much easier to read, and almost minus 40 lines of Makefile code.
* Fix blunder in previous: we must keep the line parse bufferIngo Schwarze2017-03-091-1/+3
| | | | | | | | consistent even when aborting the parsing of the line. That buffer is not our own, but owned and reused by mparse_buf_r(), read.c. Returning without cleanup leaked memory and caused write overruns of the old, typically much smaller buffer in mparse_buf_r(). Promptly noticed by tb@ with afl(1), using MALLOC_OPTIONS=C.
* Now that markdown output is tested for almost everything, test allIngo Schwarze2017-03-0846-56/+47
| | | | | | input files in -T markdown output mode by default and only mark those files with SKIP_MARKDOWN that are not to be tested. Much easier to read, and almost minus 40 lines of Makefile code.
* Document that -T markdown produces ASCII output, and the impliedIngo Schwarze2017-03-081-2/+12
| | | | | | | | limitations. Of course, we could write UTF-8 output instead, but even the CommonMark specification doesn't require parsers to support that, so portability would be doubtful. While here, provide a link to the CommonMark specification.
* The CommonMark specification wants that opening parenthesesIngo Schwarze2017-03-081-10/+3
| | | | | inside link destinations be escaped. While here, remove the obsolete ESC_PAR.
* According to the CommonMark specification, backslash escapesIngo Schwarze2017-03-086-6/+10
| | | | and markdown markup do not work inside code spans.
* The CommonMark specification allows list markers fo the form "number) "Ingo Schwarze2017-03-081-2/+2
| | | | | as well as "number. ", so escape closing parentheses after leading digits to improve portability.
* Do not increment .Bl -enum list markers beyond two digits.Ingo Schwarze2017-03-081-2/+4
| | | | | Otherwise, we would indent subsequent paragraphs less than the CommonMark specification requires, harming portability.
* .Bl -column never gets blank lines between rowsIngo Schwarze2017-03-084-3/+100
|
* add two result files that were forgottenIngo Schwarze2017-03-082-0/+63
|
* enable -T markdown tests of filled displays and tagged listsIngo Schwarze2017-03-0833-6/+1211
|
* Add a blank after ">" when quoting.Ingo Schwarze2017-03-081-2/+8
| | | | If is allowed by markdown syntax and more human-readable.
* prevent infinite recursion while expanding the argumentsIngo Schwarze2017-03-084-4/+24
| | | | of a user-defined macro; issue found by tb@ with afl(1)
* If a user-defined macro is aborted because it exceeds the stackIngo Schwarze2017-03-075-11/+44
| | | | | | | | | | | | | | | | | | | limit, usually due to infinite recursion, discard whatever remains in all those open stack levels. Otherwise, insane constructions like the following could generate macros of enormous size, causing mandoc(1) to die from memory exhaustion: .de m \" original macro definition .m \" recursion to blow up the stack .de m \" definition to be run during the call of .m marked (*) very long plain text (some kilobytes) .m \" expand the above a thousand times while unwinding the stack .. \" end of the original definition .m \" (*) recursively generate a ridiculously large macro .. \" end of recursively generated definition .m \" execute the giant macro, exhausting memory Very creative abuse found by tb@ with afl(1).
* Escape blanks at the end of markdown linesIngo Schwarze2017-03-072-13/+24
| | | | such that they don't look like output line breaks.
* fix completely empty .Eo: no blank line wantedIngo Schwarze2017-03-073-10/+41
|
* fix spacing after empty .FlIngo Schwarze2017-03-073-4/+14
|
* implement .An -split and -nosplitIngo Schwarze2017-03-075-3/+96
|
* Fix .In formatting in the SYNOPSIS:Ingo Schwarze2017-03-076-12/+86
| | | | No &zwnj; in the middle of **, please.
* Using .Nd only makes sense in the NAME section.Ingo Schwarze2017-03-065-5/+21
| | | | | Warn if that macro occurs elsewhere. Triggered by a question from Dag-Erling Smoergrav <des @ FreeBSD>.
* URIs need different escaping; reported by reyk@Ingo Schwarze2017-03-062-6/+15
|
* first batch of -T markdown testsIngo Schwarze2017-03-05231-8/+3706
|
* Infrastructure for -T markdown tests.Ingo Schwarze2017-03-052-8/+40
| | | | | | This is needed because -T marksdown is expected to receive less maintenance than -T ascii, so we need automation to make sure that regular parser maintenance doesn't break this output mode.
* Remove a redundant condition in .%T handling, no functional change.Ingo Schwarze2017-03-042-10/+6
| | | | Found by jsg@ with scan-build.
* Make the description of -K autodetection easer to understand.Ingo Schwarze2017-03-041-13/+21
| | | | Basic idea suggested by jmc@, OK jmc@.
* Debian needs relative symlinks not only for manual pages,Ingo Schwarze2017-03-043-16/+26
| | | | | | but also for program files. Issue reported by Michael <Stapelberg at debian dot org> and by Markus <Waldeck at gmx dot de>.
* Markdown output mode helped us to find the first parser bug (as such,Ingo Schwarze2017-03-031-9/+10
| | | | | | | | | | this bug could cause wrong output in other modes as well): Do not misinterpret tab characters as .Ta macros when they appear on non-column .It lines in non-column .Bl lists that are nested inside a parent .Bl -column list. (Admittedly, such constructions are not very useful; don't use them!) Found by tb@ with afl(1) because the resulting tree corruption triggered an assertion in the markdown output module.
* new -mdoc -Tmarkdown output mode; OK millert@ reyk@ tb@;Ingo Schwarze2017-03-036-15/+1496
| | | | thanks to reyk@ and to Vsevolod at FreeBSD for suggesting it
* remove a few redundant conditions that jsg@ found with cppcheckIngo Schwarze2017-03-034-8/+8
|
* Fix a copy-and-paste error that caused man(7) manuals withoutIngo Schwarze2017-03-031-2/+2
| | | | | a section number in .TH to be misinterpreted as preformatted. Found by jsg@ with cppcheck.
* A missing initialization could randomly cause regular expressionIngo Schwarze2017-03-031-0/+1
| | | | | searches to be case-insensitive that ought to be case sensitive. Found by jsg@ with scan-build.
* Fix previous: do not access the byte before the string if the stringIngo Schwarze2017-03-031-2/+2
| | | | is empty; found by jsg@ with afl(1).
* Pledge man.cgi(8).Ingo Schwarze2017-02-221-1/+17
| | | | | Based on a more complicated patch from semarie@. Sebastien and tb@ both agree with the simplification.
* Since SQLite is gone, we no longer need the "flock" pledge.Ingo Schwarze2017-02-221-3/+3
| | | | Patch from semarie@, OK tb@.