summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Start roff formatter modules for HTML and termininal output,Ingo Schwarze2017-05-0410-55/+145
| | | | | | | used by both the mdoc and man formatters, with the ultimate goal of reducing code duplication between the two macro formatters. Made possible by the parser unification. Add the first formatting function (for the .br request).
* Parser reorg:Ingo Schwarze2017-05-0428-78/+168
| | | | | Generate the first node on the roff level: .br Fix some column numbers in diagnostic messages while here.
* A few days ago, a patch from <G dot Branden dot Robinson at gmail dot com>Ingo Schwarze2017-05-011-1/+15
| | | | | | | | | got committed to groff which changed .TP from using .it to using .itc, such that groff now supports more than one man(7) macro line in the .TP head if all but the last line in the head end with \c. Of course, relying on that behaviour is utterly non-portable, but if authors are reckless enough to use that idiom, let's do what they want.
* When trying to expand some columns in a table where the sum of theIngo Schwarze2017-05-014-3/+44
| | | | | | | widths of the remaining columns is already wider than the line length, underflowing size_t and dying from ENOMEM is the wrong plan. Instead, simply refrain from expanding anything in such a situation, avoiding a crash that tb@ found with afl.
* Parser unification: use nice ohashes for all three request and macro tables;Ingo Schwarze2017-04-2915-564/+368
| | | | no functional change, minus two source files, minus 200 lines of code.
* Delete .Pp right before the first .Sh and right before any .Ss,Ingo Schwarze2017-04-2811-4/+117
| | | | and warn about it; mdoclint(1) does so, and it makes sense.
* ASCII characters that are special to roffIngo Schwarze2017-04-271-0/+7
|
* Delete the manpage(1) utility.Ingo Schwarze2017-04-243-205/+0
| | | | | | | | It was never enabled in any release, nor was a manual ever written. In general, we want to simplify the user interface rather than succumb to featurism. Consequently, integrating manpage(1) into the main binary would seem like a dubious direction.
* Continue parser unification:Ingo Schwarze2017-04-2425-698/+743
| | | | | | | | * Make enum rofft an internal interface as enum roff_tok in "roff.h". * Represent mdoc and man macros in enum roff_tok. * Make TOKEN_NONE a proper enum value and use it throughout. * Put the prologue macros first in the macro tables. * Unify mdoc_macroname[] and man_macroname[] into roff_name[].
* More thoroughly reject direct access to unintended files, such thatIngo Schwarze2017-04-191-1/+2
| | | | | | URIs like http://man.openbsd.org/OpenBSD-current/mandoc.db and http://man.openbsd.org/OpenBSD-current/man1/ do not cause display of garbage.
* Now that global -i is gone, pass -i through to the apropos(1)Ingo Schwarze2017-04-181-2/+6
| | | | | | expression parser, such that "apropos -i 'Nm~dump\>'" finds kdump(1) and WCOREDUMP(2) and you don't need to type the counter-intuitive "apropos -- -i 'Nm~dump\>'".
* Delete the undocumented and unimplemented man(1) -i (interactiveIngo Schwarze2017-04-181-4/+0
| | | | | apropos) option. It will not be implemented. Featurism isn't the plan for the future; simplicity is.
* The apropos(1) manual still documents the unary -i operator forIngo Schwarze2017-04-181-1/+6
| | | | | | regular expression search terms, but it appears that somewhere along the way, the implementation got lost, so restore it. Bug found while investigating other reports from Gonzalo Tornaria.
* Fix previous: i forgot explicit NUL termination;Ingo Schwarze2017-04-181-0/+2
| | | | noticed by Gonzalo <Tornaria at cmat dot edu dot uy>, thanks!
* Restore -kO Nd, -kO Nm, -kO sec, and -kO arch to working order.Ingo Schwarze2017-04-172-25/+56
| | | | | | | They got broken in the SQLite removal. As opposed to the rest of -kO, they are no longer very useful, but they are certainly not supposed to fail assertions. Issue reported by Gonzalo Tornaria <tornaria at cmat dot edu dot uy>.
* adjust tests to recent .Lk improvementsIngo Schwarze2017-04-176-8/+20
|
* implement display of long .Lk URIs to match -TasciiIngo Schwarze2017-04-171-4/+57
|
* Fix handling of trailing punctuation in .Lk.Ingo Schwarze2017-04-175-20/+55
| | | | | | | | | This macro is unusual in so far as trailing punction needs to remain inside the scope because it must be inside, not after the display of long URIs in terminal output mode. Improves formatting of fw_update(1), help(1), less(1), sendbug(1), acx(4), inet6(4), ipsec(4), oce(4), isakmpd.conf(5), afterboot(8), release(8), traceroute(8).
* Show long .Lk URIs in like an indented display, similar to groff.Ingo Schwarze2017-04-141-0/+10
| | | | Suggested by bentley@.
* Do not make the colon after the .Lk link text italic.Ingo Schwarze2017-04-142-2/+2
| | | | I just pushed the same change to GNU troff.
* delete documentation of some stuff that no longer exists,Ingo Schwarze2017-03-302-121/+13
| | | | mostly about SQLite3; noticed by Jan Stary <hans at stare dor cz>
* simplify the SYNOPSIS as well, just like the option lists;Ingo Schwarze2017-03-274-20/+12
| | | | suggested by and OK jmc@
* For some options that are rarely needed in mandoc(1),Ingo Schwarze2017-03-271-14/+4
| | | | | delete the descriptions and point to man(1) instead. Inspired by apropos.1 rev. 1.43.
* Simplify: mention at one place that -fkl override each other,Ingo Schwarze2017-03-273-42/+11
| | | | | rather than stating it separately for each option. Suggested, OKed, and tweaked by jmc@.
* For some options that are rarely needed in apropos(1) and man(1),Ingo Schwarze2017-03-252-91/+10
| | | | | | | delete the verbose descriptions and point to man(1) and mandoc(1), respectively, instead. That shortens the pages and makes them easier to read. Tweaks and OK jmc@, based in part on ideas from tedu@.
* simplify description of -S and -w, point from EXIT STATUSIngo Schwarze2017-03-221-11/+6
| | | | | to mandoc(1) for details, and remove duplicate .Xr to whatis(1); OK jmc@
* simplify .Nd; to display manuals, use man(1) instead;Ingo Schwarze2017-03-211-1/+1
| | | | OK jmc@
* delete documentation of a hack that was removed years agoIngo Schwarze2017-03-211-7/+1
|
* Silently ignore invalid -m input formats rather than erroring out.Ingo Schwarze2017-03-202-74/+36
| | | | | | As observed by Jan Stary <hans at stare dot cz>, this is useful such that after 'alias man="man -m $HOME/man"', 'man -l foo.1' still works. Simplify and shorten the description of -m, and use .Ic for macros.
* minor issues found with mandoc -TlintIngo Schwarze2017-03-183-4/+4
|
* Correct description of MANPATH, and a few more improvementsIngo Schwarze2017-03-184-26/+73
| | | | to the ENVIRONMENT section; OK jmc@
* Simplify: write HTTP 303 redirects with relative locations.Ingo Schwarze2017-03-183-16/+11
| | | | | | Suggested by bentley@. Delete the HTTP_HOST configuration variable that is now obsolete.
* Bugfix: use SCRIPT_NAME for .Xr hyperlinks.Ingo Schwarze2017-03-181-1/+2
| | | | Patch from <andreas at AndreasVoegele dot com>.
* Document man(1) section selection priority,Ingo Schwarze2017-03-172-3/+28
| | | | | 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-6/+7
| | | | 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-4/+8
| | | | | | 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-3/+6
| | | | 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-35/+55
| | | | | 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-35/+76
| | | | | 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-3/+43
| | | | | 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-1/+4
| | | | | | | | | | 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-10/+85
| | | | | | | | | | 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-47/+59
| | | | | 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-2/+7
| | | | | | 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-29/+56
| | | | | | | | | | | 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-0/+2
| | | | | | | | 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-55/+46
| | | | | | 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-0/+10
| | | | | | | | 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.