| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
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.
|
|
|
|
| |
and markdown markup do not work inside code spans.
|
| |
|
| |
|
| |
|
|
|
|
| |
of a user-defined macro; issue found by tb@ with afl(1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
such that they don't look like output line breaks.
|
| |
|
| |
|
| |
|
|
|
|
| |
No ‌ in the middle of **, please.
|
|
|
|
|
| |
Warn if that macro occurs elsewhere.
Triggered by a question from Dag-Erling Smoergrav <des @ FreeBSD>.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
output, of course). Patch from bentley@ in November 2014. This can be
committed now because groff merged Anthony's patch yesterday.
|
|
|
|
|
|
|
|
|
|
|
| |
ugly in -Tascii output. For that reason, bentley@ submitted patches
to render "..." instead to groff in November 2014 (yes, more than
two years ago). Carsten Kunze yesterday merged them for the upcoming
groff-1.22.4 release. Yay!
Consequently, do the same in mandoc: Render \(Lq and \(Rq (which
are used for .Do, .Dq, .Lb, and .St) as '"' in -Tascii output.
All other output modes including -Tutf8 remain unchanged.
|
| |
|
|
|
|
|
|
| |
column width specifiers, so stop supporting them, too.
As a side effect, this fixes an assertion failure that tb@ found
with afl(1), triggered by: .Bl -column -4n
|
|
|
|
|
|
|
|
|
| |
implicit blocks (.Aq Bq Po .Pc) that left the outer breaker open
and could in exceptional cases, like between .Bl and .It, cause
tree corruption leading to NULL dereference.
Found by tb@ with afl(1).
While here, do not mark intermediate ENDBODY markers as broken.
|
|
|
|
| |
Crashes found by tb@ with afl(1).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
native C libraries of illumos, Oracle Solaris 11, and SunOS 5.10.
While it is useful to catch wcwidth(3) regressions on OpenBSD, the
purpose of the *portable* mandoc regression suite is not to check
the C library of the host system; that would just hide genuine
mandoc portability issues in the noise. The remaining UTF-8 tests
are still sufficient to establish that mandoc does the right thing.
Issues reported by Sevan Janiyan <venture37 at geeklan dot co dot uk>
after testing on OmniOS.
|
|
|
|
| |
Deprecated perlre(1) syntax reported by Thomas Klausner and Sevan Janiyan.
|
|
|
|
| |
Make it easier to get rid of it.
|
| |
|
| |
|
|
|
|
|
| |
Both kristaps@ and wiz@ repeated asked for this,
literally for years.
|
|
|
|
|
|
|
| |
It has not been used or maintained for several years,
and we won't start using it now.
Devlopment regression testing is done in OpenBSD, and
there is no value in maintaining two regression suites in parallel.
|
|
|
|
|
|
|
| |
separated by only "and" while two or more are with ", and" for the last
author.
Also remove relevant TODO and add regression tests.
|
|
|
|
|
| |
to 6n if no value is specified" and added regression tests for `Bl'
testing against the empty -offset argument.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
the "data" union in mdoc_node. Allows me to remove some ugly loops in
the front-end and duplicate tests in mdoc_action.c. Add a regression
test to make sure we're not doing anything bad (more to come).
|
|
|
|
|
|
|
|
|
|
| |
for what's supported. This simplified the roff_cond() function quite
nicely. From a bug report by uqs@.
Added regression test based on bug-report example by uqs@.
Also added ROFF_DEBUG to see what the hell the parser is actually doing.
Obviously turned off by default.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inconsistent behaviour. In short:
Some macros are displayed differently in the SYNOPSIS
section, particularly Nm, Cd, Fd, Fn, Fo, In, Vt, and Ft.
All of these macros are output on their own line. If two
such dissimilar macros are pair-wise invoked (except for Ft
before Fo or Fn), they are separated by a vertical space,
unless in the case of Fo, Fn, and Ft, which are always
separated by vertical space.
Behaviour ok Jason McIntyre, ingo@. Fallout will be treated
case-by-case.
I had to clear out some regressions that were testing against groff's
stranger behaviours: these will now break, as we don't care about such
invocations.
Also removed the newline for `Cd' invocation in a non-SYNOPSIS context.
|
| |
|
| |
|
|
|
|
|
|
|
| |
extent.
Documented `Fn'. Please note the COMPATIBILITY note regarding historic
groff.
|
|
|
|
|
|
| |
Fixed `In' to behave properly: it wasn't properly breaking lines,
formatting, or really anything else. Noted COMPATIBILITY with
OpenBSD's groff, which pukes all over `In'.
|
|
|
|
|
| |
hell `Fd' is supposed to do anyway (answer: it's a historical macro and
we shouldn't be doing anything with it anyway).
|
| |
|
|
|
|
|
|
|
|
| |
Fixed flushed-out condition of \} causing subsequent arguments to be
truncated, when in fact the whole line should be passed through (if the
conditional succeeds) to the front-end and the \} ignored there.
Added regression test of this behaviour.
|
|
|
|
|
|
|
| |
or a closed-out `It' block within a `Bl -column' (which only happens
when a macro or free-form text is encountered prior to an `It').
Added some regression tests for this behaviour.
|
|
|
|
| |
Added regression test for constrained condition.
|
|
|
|
|
|
|
|
| |
-column' up until the first `It'. This is UGLY and should have all
sorts of warnings, and will. On the one hand, it fits with groff's
notion of tabs and tab-spaces. On the other hand, it's not really
"free-form" text any more. Note that this does not yet accomodate for
macros coming on these lines.
|
| |
|
|
|
|
|
| |
open scopes to migrate across tabs) that we probably won't support and
is well-known.
|
|
|
|
|
|
|
|
|
|
| |
will make it easy for re-entrant parsing of `Ta' macros to fit in with
standard closure rules.
Added some more regressions for `Bl -column'. Note that one should
fail, as documented in the TODO file.
Recorded change of AST BNF in mdoc.3.
|
|
|
|
|
|
|
|
| |
supported (which works but is tricky enough that it should be broken
down into digestable parts). This simply moves around the propogation
of ARGS_PEND into one recognised by phrase().
Added a few regressions for simple -column lists.
|