| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
of the parser can use the resulting cues. In particular, this allows
to use .nr nS to force SYNOPSIS-style .Nm indentation outside the
SYNOPSIS as needed by ifconfig(8).
To actually make this useable, .Pp must rewind .Nm, or the rest of the
section would end up indented. Implement a quick hack for now,
a generic solution can be designed later.
ok kristaps@ and tested by sobrado@
|
|
|
|
|
|
|
| |
The bug was uncovered by SYNOPSIS .Nm as this happened to be the first
block with this particular combination of properties.
Found the hard way by kristaps@ in NetBSD gcc-contrib(1),
fix by me.
|
|
|
|
|
|
|
| |
kristaps@ will do the missing HTML part soon.
"looks nicer" jmc@
"seems perfect to me" sobrado@
"slap it in" kristaps@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
delayed: It must either succeed right away or fail outright.
As noticed by Kristaps, neglecting to fail properly when required
could make invalid input screw up the syntax tree and ultimately
trigger assertions in other, unrelated parts of the program.
This fix tested by and OK by kristaps@.
While here, comment the rather tricky function rew_dohalt().
This function will probably need more tweaks later on.
|
|
|
|
|
| |
seems like gcc3 didn't catch it :-(
thanks to thib@ and kristaps@ for reporting
|
|
|
|
|
|
|
|
|
|
| |
* Let rew_alt() always succeed, obsoleting tons of case statements.
* Merge rew_dobreak() into rew_dohalt().
* Encode all rewinding cases uniformly in terms of "enum rew".
Required because i'm too dumb to get SYNOPSIS .Nm rewinding right
without cleaning this up first.
"get it in" kristaps@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the Rostock mandoc hackathon and tested and polished since,
supporting constructs like:
.Ao Bo Ac Bc (exp breaking exp)
.Aq Bo eol Bc (imp breaking exp)
.Ao Bq Ac eol (exp breaking imp)
.Ao Bo So Bc Ac Sc (double break, inner before outer)
.Ao Bo So Ac Bc Sc (double break, outer before inner)
.Ao Bo Ac So Bc Sc (broken breaker)
.Ao Bo So Bc Do Ac Sc Dc (broken double breaker)
There are still two known issues which are tricky:
1) Breaking two identical explicit blocks (Ao Bo Bo Ac or Aq Bo Bo eol)
fails outright, triggering a bogus syntax error.
2) Breaking a block by two identical explicit blocks (Ao Ao Bo Ac Ac Bc
or Ao Ao Bq Ac Ac eol) still has a minor rendering error left:
"<ao1 <ao2 [bo ac2> ac1> bc]>" should not have the final ">".
We can fix these later in the tree, let's not grow this diff too large.
"get it in" kristaps@
|
|
|
|
|
|
|
|
|
| |
functionality and UGLY works quite well thanks to schwarze@'s careful
attention.
This also backs out function-prototype changes for struct regset,
instead stuffing a pointer to the regset directly into struct
mdoc/man/roff.
|
|
|
|
| |
libman and libmdoc.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
-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.
|
|
|
|
| |
comes into play).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add `Ta' macro, which is basically a NULL case everywhere but in
mdoc_macro.c, where it closes out an existing `It' body scope and opens
a new one, then continues parsing as in phrase() (TODO: merge these
two?).
Fix where scope-breaking was silently just dying instead of printing an
error.
Fix where trailing `Ta' or tab weren't creating a new MDOC_BODY context.
We now support arbitrarily complex `It' contents for `Bl -column'.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
be changing this around and want a record in CVS of what was happening
beforehand.
|
|
|
|
| |
handling.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
has not been opened and closing punctuation is encountered AND the macro
is marked as accepting no-content (or `Li'), then open an empty scope.
Added regression tests for `Fl' and `Li' testing this behaviour.
Also, squeeze hyph0.in tests into the last characters of each line so
that groff doesn't hyphenate and break the test.
|
|
|
|
|
|
|
|
|
| |
Added `Lb' documentation to mdoc.7.
Removed harmless but superfluous pre_lb check (was just NULL entries).
Added regressions for `Lb' (NOTE that these will only run on new groff,
as old groff doesn't support `Lb' at all).
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Only OPEN are drawn before the beginning of a macro;
this is new, before this, MIDDLE ('|') were drawn in front, too.
Only CLOSE are pushed after the end of a macro (as before).
ok kristaps@
|
|
|
|
|
|
| |
appended delimiters will properly EOS.
Fixed mandoc_eos() to accept sentence punctuation followed by close-delim buffers.
|
|
|
|
| |
by Ingo Schwarze).
|
|
|
|
| |
IS NOT SMART ENOUGH TO DO THIS.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Fixed assumption that parse-point == 1 equates to beginning of line (false if whitespace separates macro and control character).
Fixed line-break for non-first-macro in several SYNOPSIS macros.
|
|
|
|
| |
Initial rules for insane `It -column' tabsep handling.
|
| |
|
|
|
|
| |
Running tally of changes in index.sgml.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Fixed lookup() and lookup_raw() to correctly use enum type.
Quashed in_line_argn() bug (not reported, but there) where mixing return values.
|
| |
|
| |
|
|
|
|
| |
"!"' rendering the "!" outside of scope.
|
|
|
|
| |
explicit-scope macros.
|
|
|
|
|
| |
Fixed removed assignment of type.
Removed superfluous checks of mdoc_argflags (from days when comments were a macro tag).
|
|
|
|
|
|
|
| |
values).
Initial check-in of Ingo Schwarze's patch for Xo/Xc handling (in blocks ifdef'd "UGLY").
Put Oc-close-Op parts into UGLY ifdef blocks.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and closing macro punctuation).
Modify blk_part_exp() to correctly handle leading punctuation before HEAD.
Significantly clean up and document blk_part_exp().
Modify blk_part_imp() for to correctly handle leading punctuation before HEAD.
Significantly clean up and document blk_part_imp().
Integrate Ingo Schwarze's patch for args() (using new mdoc_iscdelim() format).
Documented bad `Ec' handling for later work in mdoc_term.c/mdoc_html.c.
|
|
|
|
|
|
| |
following the
trailing section are implicitly `Ns'd. Based on a patch submitted by Ingo Schwarze.
|
|
|
|
| |
Sonnenberger.
|