| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
shitty groff behaviour. Do the same, but raise a warning to this
effect. This from a TODO noted by schwarze@.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Most empty in_line() macros are already removed by the parser,
so there is no need to check again in mdoc_validate.c.
This also downgrades almost all remaining argument count issues
from ERROR to WARNING.
ok kristaps@
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Do not segfault on empty .Db, .Rs, .Sm, and .St.
* Let check_count() really throw the requested level, not always ERROR.
* Downgrade most bad argument counts from ERROR to WARNING.
* And some related internal cleanup.
Looks fine to kristaps@.
Note that the macros using eerr_ge1() still need to be checked at a later
time; but as all the others are done, let's use what we already have.
|
|
|
|
|
|
| |
external-facing function mdoc_addspan(), then various bits to prohibit
printing and scanning (this requires some if's to be converted into
switch's).
|
| |
|
|
|
|
|
| |
instead of underlined. This only happens in -Tascii, as -T[x]html both
underlines and italicises.
|
|
|
|
|
|
|
|
| |
favour of a simpler shim for normalised data in the node allocation and
free routines. This removes the need to bump and copy references within
validator handlers, removes a pointer redirect, and also kills the
refcount structure itself. Data is assumed to "live" either in a
MDOC_BLOCK or MDOC_ELEM and is copied accordingly.
|
|
|
|
|
| |
and .Lp should cause a warning, not an error.
"I don't suppose I mind this." kristaps@
|
|
|
|
|
|
|
| |
simplifies clean-up and allows for more types without extra hassle.
Also made in-line literal types in -T[x]html use CODE instead of SPAN to
match how literal blocks use PRE.
|
|
|
|
|
| |
the first step to having a simpler ref-counted system for "data"
associated with a node.
|
|
|
|
| |
study to see exactly what's legal and what's not.
|
|
|
|
| |
compact mode.
|
|
|
|
|
|
|
|
|
|
|
| |
`Bl' (before any `It' have been invoked). Next, have the existence of
either macro raise a warning, as it's technically not legal according to
mdoc.7.
Second, delete any `Pp' as the first element of a `Bl' (i.e., before an
`It') ONLY when -compact has not been specified. This matches with the
latest version of groff. This deletion happens prior to the above
check, so double-warnings will not be issued.
|
|
|
|
|
|
|
| |
Remove `Pp' or `Lp' if it is the FIRST or LAST child of an `Sh' or `Sh' body.
Make "skipping paragraph" be an error, not a warning, as information (an
invoked macro) is ignored.
|
|
|
|
|
|
|
|
|
| |
`Brq') to have zero arguments without warning. This makes sense because
the multi-line quote macros (`Oo/Oc' etc.) allow zero children anyway.
Furthermore, the documentation doesn't state that they're required to
have children.
Originally reported by Alex Kozlov, thanks!
|
| |
|
|
|
|
| |
NOARGV warnings. From patch by schwarze@.
|
| |
|
|
|
|
|
|
|
| |
making sure output doesn't add a superfluous newline with the nested displays.
Also add a COMPATIBILITY note.
Rename a macro (DATESIZ) to be in line with OpenBSD (DATESIZE).
|
|
|
|
| |
call to `Dl' or `Bd -literal' or unfilled.
|
|
|
|
|
|
|
|
|
|
| |
error printing, as this is superseded by exit_status in main.c.
Make check_argv() and check_text() return void.
Make MDOC_Std test in check_argv() to pre_std().
Re-write post_root() to check more conditions before returning.
|
|
|
|
| |
file is now ready for removal.
|
| |
|
|
|
|
| |
into mdoc_validate.c.
|
|
|
|
| |
Document that `Pa' is replaced by a tilde, just like `Mt'.
|
|
|
|
|
|
|
|
|
| |
Remove MANDOCERR_BADLIB (not used).
Moved `St' handling from mdoc_action.c into mdoc_validate.c.
Moved relevant MDOC_LITERAL macros (`Dl', `Bd' subtypes) from
mdoc_action.c into mdoc_validate.c.
|
| |
|
| |
|
|
|
|
|
| |
Surprisingly, both functions were doing pretty much the same thing.
Make sure that the changes incorporate the union of both.
|
|
|
|
|
| |
its name. Added some more documentation just for clarity's sake. No
functional change.
|
|
|
|
|
|
|
|
| |
Clarify that `Mt' gets a default `~' (as per groff 1.20) and document it
in mdoc.7.
Made `Lk' be removed in mdoc_macro.c if it has no arguments. This fixes
segfaults in mdoc_{term,html}.c that nobody's managed to raise yet.
|
|
|
|
|
|
| |
Remove superfluous in-line order_rs function.
Merge `Rs' validations {BLOCK, BODY} -> {BODY}.
Make invalid children of `Rs' raise an error but otherwise be allowed.
|
|
|
|
| |
Making IGNARGV be an ERROR, not a WARNING, as information is lost.
|
|
|
|
|
| |
ugly CPP macros in favour of real functions. Enumerate areas of short-
term future cleanup, too.
|
|
|
|
|
|
|
|
|
|
| |
* mdoc.c: blank lines outside literal mode are more similar to .sp than .Pp
* backslashes do not terminate macros; partial revert of mdoc.c 1.164;
the intention of that commit is fully achieved in roff.c
* mdoc_term.c: no need to list the same prototype twice
* mdoc_validate.c: drop .Pp before .sp just like .Pp before .Pp
* fix off-by-one found by jsg@ with parfait, OpenBSD term_ps.c 1.12
ok kristaps@
|
| |
|
|
|
|
| |
specified).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
started by Sascha Wildner, 07/25/2010 06:30 AM.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
be converted into a symbol.
The `Pp' issue has also been fixed.
|
|
|
|
| |
ok kristaps@
|
|
|
|
| |
the loops here and there to track down the MDOC_Column arguments.
|
|
|
|
|
|
|
| |
and -item list as well, empty bodies are OK, they do not even
warrant a warning, much less the error they were throwing.
According to kristaps, joerg@ also brought this up some time ago.
ok kristaps@ jmc@
|
|
|
|
| |
pointer like the other data members, as there's no need to copy it around.
|
| |
|