summaryrefslogtreecommitdiffstats
path: root/mandoc.1
Commit message (Collapse)AuthorAgeFilesLines
...
* Modernize documentation by inserting blanks between option lettersIngo Schwarze2015-03-271-56/+53
| | | | | | and option arguments, except for -m because "-m an" and "-m andoc" look just too weird. Of course, the traditional form without the blank will continue to work.
* improve NAME section diagnostics;Ingo Schwarze2015-02-231-8/+18
| | | | confusing messages reported by Jan Stary <hans at stare dot cz>
* clean up post_dt() validation function;Ingo Schwarze2015-02-161-0/+3
| | | | improved diagnostics, minus six lines of code
* Delete the -V option. It serves no purpose but keeps confusing people.Ingo Schwarze2015-02-161-3/+1
| | | | | | | | Keeping track of the versions of installed software is the job of the package manager, not of the individual binaries. If individual binaries include version numbers, that tends to goad people into writing broken configuration tests that inspect version numbers instead of properly testing for features.
* some tweaks to the DIAGNOSTICS sectionIngo Schwarze2015-02-071-12/+9
|
* replace the last legacy generic message type, "argument count wrong",Ingo Schwarze2015-02-061-6/+15
| | | | by more specific messages, improving diagnostics for .cc .tr .Bl -column
* better error reporting regarding .OP .RS .UR .TH argumentsIngo Schwarze2015-02-061-17/+40
|
* better diagnostics about excess arguments to .PD .ft .spIngo Schwarze2015-02-061-0/+4
|
* better error reporting for .br .fi .nf with argumentsIngo Schwarze2015-02-061-1/+4
|
* Delete the legacy generic warning type MANDOCERR_ARGCWARN,Ingo Schwarze2015-02-061-8/+13
| | | | | replacing the last instances by more specific warnings. Improved functionality, minus 50 lines of code.
* better handle .Fo and .Fd without argumentIngo Schwarze2015-02-061-0/+8
| | | | better handle .Fo with more than one argument
* Discard excess head arguments for .Bd .Bl .Bk and delete hwarn_eq0().Ingo Schwarze2015-02-041-7/+10
| | | | | Discard empty .Bk blocks. Improve related diagnostics.
* improve diagnostics regarding arguments of .An .Pp .Lp .br .spIngo Schwarze2015-02-041-1/+13
| | | | in particular, get rid of check_count(..., CHECK_EQ, 0)
* discard .Rs head arguments and improve .Rs diagnosticsIngo Schwarze2015-02-041-0/+9
|
* more specific .Nd diagnostics, allowing to get rid of enum check_lvlIngo Schwarze2015-02-041-0/+6
| | | | and the respective argument of check_count()
* Radical cleanup of COMPATIBILITY sections:Ingo Schwarze2015-01-291-107/+8
| | | | | | | | Remove lots of lies, dozens of irrelevant implementation details, and all references to groff versions older than 1.17. Move relevant information to the pages where it belongs, and out of mandoc(1) in particular. Add some missing general remarks to roff(7), where it fits the character and purpose of the page much better.
* Clean up eqn(7) error handling:Ingo Schwarze2015-01-281-7/+0
| | | | | | | | * When "define" fails, do not drop the whole equation. * Free memory after "undef". * Use standard mandoc error types instead of rolling our own. * Delete obfuscating EQN_MSG() macro. * Add function prototypes while here.
* * Polish tbl(7) error reporting.Ingo Schwarze2015-01-281-12/+37
| | | | | | * Do not print out macro names in tbl(7) data blocks. * Like with GNU tbl, let empty tables cause a blank line. * Avoid producing empty tables in -Tman.
* Rework tbl(7) layout parsing:Ingo Schwarze2015-01-261-2/+40
| | | | | | | | | | | * Continue parsing even if part of the input is invalid. * Do not require whitespace between cell specifications. * Allow tabs as well as blanks between modifiers. * Mark the 'm' modifier as unsupported. * Parse and ignore the 'p' and 'v' modifiers. * Better warning and error messages. * Get rid of a static buffer. Improved functionality but minus 50 lines of code.
* More improvements regarding tbl(7) options.Ingo Schwarze2015-01-261-0/+4
| | | | | | | | | * Treat "allbox" as an alias for "box" for now. * Parse and ignore the GNU tbl "nowarn" option. * For separation, allow spaces, tabs, and commas only. * Mark eqn(7) within tbl(7) as unsupported. * Simplify the option table. * Improve and sort documentation.
* Improve (or rather, rewrite) tbl(7) option parsing.Ingo Schwarze2015-01-261-8/+37
| | | | | | | | | | | | * Allow the layout to start after the semicolon on the options line. * Ignore leading commas. * Option arguments cannot contain closing parentheses. * Avoid needless UNSUPP messages. * Better ERROR reporting. * Delete unused "linesize" field in struct tbl_opts. * No need for static buffers. * Garbage collect one almost empty wrapper function. Improved functionality, but minus 40 lines of code.
* Support .RE with an argument; needed for audio/pms(1).Ingo Schwarze2015-01-241-2/+15
|
* typo fixes from jmc@Ingo Schwarze2015-01-201-1/+1
|
* Split the -Werror message level into -Werror (broken manual, probablyIngo Schwarze2015-01-201-22/+60
| | | | | | | | | | | | | using mandoc is better than using groff) and -Wunsupp (manual using unsupported low-level roff(7) feature, probably using groff is better than using mandoc). Once this feature is complete, it is intended to help porting, making the decision whether to USE_GROFF easier. As a first step, distinguish four classes of roff(7) requests: 1. Supported (currently 24 requests) 2. Currently ignored because unimportant (120) -> no message 3. Ignored for good because insecure (14) -> -Werror 4. Currently unsupported (68) -> these trigger the new -Wunsupp messages
* Fatal errors no longer exist.Ingo Schwarze2015-01-151-51/+39
| | | | | | If a file can be opened, mandoc will produce some output; at worst, the output may be almost empty. Simplifies error handling and frees a message type for future use.
* To get rid of SYSERR entries in enum mandocerr, downgrade problems withIngo Schwarze2015-01-141-7/+11
| | | | | | missing and unreadable files from SYSERR to ERROR. Needed for upcoming work. As a bonus, this minimally simplifies code and documentation.
* mdoc(7) already uses the mandoc(1) -Ios argument in the footer lineIngo Schwarze2014-12-281-0/+3
| | | | | | when .Os has no argument, so do the same for man(7) when .TH has less than four arguments; there is no reason to treat both differently. Issue found following a question from Thomas Klausner <wiz at NetBSD>.
* Ignore mdoc(7) and man(7) macros inside tbl(7) code because theyIngo Schwarze2014-12-161-0/+1
| | | | | would abort the table in an unclean way, causing assertion failures found by jsg@.
* Switch the default output mode from -Tascii to -Tlocale.Ingo Schwarze2014-12-021-5/+7
| | | | | | | | This doesn't change anything unless LC_CTYPE is set, but it helps when running with LC_TYPE=something.UTF-8. OK tedu@ and earlier positive feedback from: bentley@ deraadt@ naddy@ stsp@ uqs@freebsd wiz@netbsd
* Multiple fixes with respect to .Pf:Ingo Schwarze2014-11-301-0/+8
| | | | | | | * The first argument of .Pf is not parsed. * Normal delimiter handling does not apply to the first argument of .Pf. * Warn if nothing follows a prefix (inspired by groff_mdoc(7)). * In that case, do not suppress spacing.
* warn about attempts to call non-callable macros;Ingo Schwarze2014-11-301-0/+7
| | | | inspired by a similar warning in the groff_mdoc(7) macros
* Drop useless architecture table. Validating architecture namesIngo Schwarze2014-11-281-6/+0
| | | | | | is a job for makewhatis(8)/mandoc.db(5), not for the parser. Removes 150 lines from source files and 4k (1%) from the binary. Bloat found by deraadt@.
* Downgrade .Bd -file from FATAL to ERROR.Ingo Schwarze2014-11-271-11/+11
| | | | | Since this was the last remaining FATAL error in this area, this change will allow major simplifications in the mdoc(7) parser.
* "Aq foo" is not the same as "<foo>". Don't use it to mark up HTML;Ingo Schwarze2014-11-251-10/+2
| | | | from bentley@.
* Let -h imply -c (that is, not use the pager).Ingo Schwarze2014-11-111-1/+1
| | | | | | Usually, -h output is short, so the pager is just a nuisance. Also, traditional man(1) does not use a pager for -h. Triggered by a remark of deraadt@ on ICB.
* fix a macro error in previous; from jmc@Ingo Schwarze2014-10-301-1/+1
|
* Report arguments to .EQ as an error, and simplify the code:Ingo Schwarze2014-10-251-0/+2
| | | | | | | * drop trivial wrapper function roff_openeqn() * drop unused first arg of function eqn_alloc() * drop usused member "name" of struct eqn_node While here, sync to OpenBSD by killing some trailing blanks.
* integrate preconv(1) into mandoc(1);Ingo Schwarze2014-10-251-0/+26
| | | | enhances functionality and reduces code and docs by more than 300 lines
* Improve error handling in the eqn(7) parser.Ingo Schwarze2014-10-121-9/+26
| | | | | | | | | | | | | | | | | | | Get rid of the first fatal error, MANDOCERR_EQNSYNT. In eqn(7), there is no need to be bug-compatible with groff, so there is no need to abondon the whole equation in case of a syntax error. In particular: * Skip "back", "delim", "down", "fwd", "gfont", "gsize", "left", "right", "size", and "up" without arguments. * Skip "gsize" and "size" with a non-numeric argument. * Skip closing delimiters that are not open. * Skip "above" outside piles. * For diacritic marks and binary operators without a left operand, default to an empty box. * Let piles and matrices take one argument rather than insisting on a braced list. Let HTML output handle that, too. * When rewinding, if the root box is guaranteed to match the termination condition, no error handling is needed.
* warn about parentheses in function names after .Fn and .Fo;Ingo Schwarze2014-10-111-0/+8
| | | | | particularly useful when converting from other languages to mdoc(7); feature suggested by bentley@
* Re-write of eqn(7) parser and MathML output.Kristaps Dzonsons2014-10-101-1/+5
| | | | | | | | | | This adds parser-level support for the grammar described by the eqn second-edition technical paper, "Typesetting Mathematics — User's Guide" (Kernighan, Cherry). The reason for this re-write is the grouping rules, which were not possible given the existing implementation. The re-write has also considerably simplified the HTML (and, if it ever is completed, terminal) front-end.
* If a tbl(7) layout contains unknown font modifiers, fall back to theIngo Schwarze2014-10-071-2/+7
| | | | | | default font rather than failing the whole table. Needed by some pages in books/man-pages-posix. Written on the plane back from EuroBSDCon in Sofia.
* Don't pretend we have a separate XHTML and HTML mode any more.Kristaps Dzonsons2014-09-271-16/+7
|
* warn about commas in function arguments; inspired by mdoclint(1)Ingo Schwarze2014-09-121-0/+7
|
* document new SEE ALSO .Xr warningsIngo Schwarze2014-09-121-0/+16
|
* warn about AUTHORS sections without .An macros, inspired by mdoclint(1)Ingo Schwarze2014-09-071-0/+6
|
* Implement the traditional -h option for man(1): show the SYNOPSIS only.Ingo Schwarze2014-09-031-1/+5
| | | | | | | As usual, we get mandoc -h and apropos -h for free. Try stuff like "apropos -h In=dirent" or "apropos -h Fa=timespec". Only useful for terminal output, so -Tps, -Tpdf, -Thtml ignore -h for now.
* Introduce a man(1) -l option as an alias for mandoc -a.Ingo Schwarze2014-08-301-2/+38
| | | | | | | | | | | | | Basically, this does the same as man -l in Linux man-db. The point is that now all functionality of the combined tool is reachable from the man(1) command name: apropos = man -k, whatis = man -f, mandoc = man -cl. Originally suggested by Carsten dot Kunze at arcor dot de, current maintainer of the Heirloom Documentation Tools. While here, add various missing information to the usage() and to the manuals.
* implement MANPAGER and PAGERIngo Schwarze2014-08-221-0/+15
|
* mandoc -a, man, apropos -a, whatis -a now paginate by defaultIngo Schwarze2014-08-221-1/+16
| | | | | but provide an option -c to not paginate; taking inspiration from manpage.c, hence adding (c) 2012 kristaps@