summaryrefslogtreecommitdiffstats
path: root/mandoc.h
Commit message (Collapse)AuthorAgeFilesLines
* Implement a simple, consistent user interface for error handling.Ingo Schwarze2010-08-201-1/+12
| | | | | | | | | | | | | | | | | We now have sufficient practical experience to know what we want, so this is intended to be final: - provide -Wlevel (warning, error or fatal) to select what you care about - provide -Wstop to stop after parsing a file with warnings you care about - provide consistent exit status codes for those warnings you care about - fully document what warnings, errors and fatal errors mean - remove all other cruft from the user interface, less is more: - remove all -f knobs along with the whole -f option - remove the old -Werror because calling warnings "fatal" is silly - always finish parsing each file, unless fatal errors prevent that This commit also includes a couple of related simplifications behind the scenes regarding error handling. Feedback and OK kristaps@; Joerg Sonnenberger (NetBSD) and Sascha Wildner (DragonFly BSD) agree with the general direction.
* Strip non-graphable input characters from input. The manualsKristaps Dzonsons2010-07-201-0/+1
| | | | | | | | | specifically say that this is not allowed, and were it allowed, output would be inconsistent across output media (-Tps will puke, non-your-charset terminals will puke, etc.). With this done, simplify check_text() to only check escapes and for tabs. Add in a new tab warning, too.
* Move register information into mandoc.h, which is where it should haveKristaps Dzonsons2010-07-051-3/+37
| | | | been in the first place (mandoc.h contains system-wide declarations).
* Stash `Bf' parameters into struct mdoc_bf.Kristaps Dzonsons2010-07-021-2/+1
|
* Improve .Nm indentation in the SYNOPSIS;Ingo Schwarze2010-07-011-2/+3
| | | | | | | kristaps@ will do the missing HTML part soon. "looks nicer" jmc@ "seems perfect to me" sobrado@ "slap it in" kristaps@
* improve error reporting:Ingo Schwarze2010-06-301-6/+10
| | | | | | | | | * avoid error exit code after mere warnings * add ERROR: and FATAL: to messages when appropriate * sort the code in mmsg() to make it easier on the eye * make the mandocerrs[] list easier to maintain * update a few comments in mandoc.h ok kristaps@
* Removed stipulation that an empty `Bd -offset' will default to 6n. NotKristaps Dzonsons2010-06-121-0/+2
| | | | | | | sure where this came about. Added regression tests to convince myself that this is so. Also consolidated COMPATIBILITY notes regarding `Bd'. Added COMPATIBILITY note to the effect that old groff pukes on `Bd -compact -ragged' (regression test will fail on old groff).
* Added enum mdoc_disp (similar to enum mdoc_list). Display types are nowKristaps Dzonsons2010-06-121-2/+2
| | | | | | | | | | | only calculated once in mdoc_validate.c. Noted that `Bd -file xxx' is not supported: it now raises a fatal warning. This is noted in mdoc.7. Empty `Bd' now defaults to LIST_ragged, which is not quite what groff does, but close enough (gross just throws away the `Bd' and gets upset when it encounters an `Ed').
* Consolidated list processing to a single loop in mdoc_validate.c. ThisKristaps Dzonsons2010-06-031-2/+1
| | | | | | | | | | relieves having to repeat running over the argument list in mdoc_action.c and mdoc_validate.c. Default to LIST_item for type-less lists (groff technically doesn't do this: it just ignores the `It' lines altogether). Make MANDOC_LISTTYPE be a recoverable error.
* Spelling patches provided by Ulrich Spoerlein.Kristaps Dzonsons2010-06-011-2/+2
|
* Cleanup post_bl_head() to use enum mdoc_list (avoid traversing thatKristaps Dzonsons2010-05-311-1/+1
| | | | | | | | list). Reverted MANDOC_COLUMNS to be a bad-bad syntax error: we don't, and apparently never have, allowed mixing of -column syntaxes. This would have segfaulted if encountered.
* Modified version of Ingo Schwarze's patch for hyphen-breaking.Kristaps Dzonsons2010-05-251-0/+4
| | | | | | | Breakable hyphens are cued in the back-ends (with ASCII_HYPH) and acted upon in term.c or ignored in html.c. Also cleaned up XML decl printing (no need for extra vars).
* fix an obvious oversight introduced in rev. 1.5:Ingo Schwarze2010-05-241-1/+1
| | | | | MANDOCERR_BODYLOST is not intended to be fatal; required to unbreak the OpenBSD build
* Enable the unified error/warning enumeration in mandoc.h that'sKristaps Dzonsons2010-05-171-2/+64
| | | | | | | | | | | stringified in main.c. Allow `An' to handle an argument and child (with a warning). Allow `Rv' and `Ex' to work without a prior `Nm' as groff does (with a warning). Allow inconsistent column syntax to only raise a warning.
* `ig' support in all its glory. TryKristaps Dzonsons2010-05-161-2/+2
| | | | | | | | | | | | | | | | | | .ig ig asdf .ig fdsa .. or .ig if asdf .if n \ foo for a laugh. It all works. Lots of regression tests supporting this and documentation for the same.
* Regression tests in place for `.if' in libroff.Kristaps Dzonsons2010-05-161-0/+1
| | | | | Check against some strange `.if' constructs I missed. Added initial roff.7 manual.
* The `ig' now supports `ig end-macro'.Kristaps Dzonsons2010-05-151-0/+3
| | | | Initial warning/error messages in place (still experimental).
* Add mandoc.h, which will eventually replace compilers' inner enum errors ↵Kristaps Dzonsons2010-05-151-0/+39
with unified ones. Add initial roff pre-processor shim, a compiler sitting outside of the other compilers that processes pure roff instructions.