summaryrefslogtreecommitdiffstats
path: root/man_macro.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2011-11-07 01:24:40 +0000
committerIngo Schwarze <schwarze@openbsd.org>2011-11-07 01:24:40 +0000
commit9830303b6541ca2717331d52b40997c9e566a48b (patch)
treebef7f838061058f52f46cf360a8feec0e93a87e9 /man_macro.c
parenta3d2601486005576848664f22121fcd2881778e3 (diff)
downloadmandoc-9830303b6541ca2717331d52b40997c9e566a48b.tar.gz
When the HEAD scope of .TP is broken by another block macro,
do not abort with a FATAL error, but report a report a WARNING, remove the broken .TP from the syntax tree, and prod on. Reported repeatedly by ports people, at least by brad@ and jeremy@. Also fixes rendition(4) in Xenocara. ok kristaps@
Diffstat (limited to 'man_macro.c')
-rw-r--r--man_macro.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/man_macro.c b/man_macro.c
index b7c85e73..2aff0f2e 100644
--- a/man_macro.c
+++ b/man_macro.c
@@ -52,15 +52,15 @@ static void rew_warn(struct man *,
const struct man_macro __man_macros[MAN_MAX] = {
{ in_line_eoln, MAN_NSCOPED }, /* br */
- { in_line_eoln, 0 }, /* TH */
- { blk_imp, MAN_SCOPED }, /* SH */
- { blk_imp, MAN_SCOPED }, /* SS */
- { blk_imp, MAN_SCOPED | MAN_FSCOPED }, /* TP */
- { blk_imp, 0 }, /* LP */
- { blk_imp, 0 }, /* PP */
- { blk_imp, 0 }, /* P */
- { blk_imp, 0 }, /* IP */
- { blk_imp, 0 }, /* HP */
+ { in_line_eoln, MAN_BSCOPE }, /* TH */
+ { blk_imp, MAN_BSCOPE | MAN_SCOPED }, /* SH */
+ { blk_imp, MAN_BSCOPE | MAN_SCOPED }, /* SS */
+ { blk_imp, MAN_BSCOPE | MAN_SCOPED | MAN_FSCOPED }, /* TP */
+ { blk_imp, MAN_BSCOPE }, /* LP */
+ { blk_imp, MAN_BSCOPE }, /* PP */
+ { blk_imp, MAN_BSCOPE }, /* P */
+ { blk_imp, MAN_BSCOPE }, /* IP */
+ { blk_imp, MAN_BSCOPE }, /* HP */
{ in_line_eoln, MAN_SCOPED }, /* SM */
{ in_line_eoln, MAN_SCOPED }, /* SB */
{ in_line_eoln, 0 }, /* BI */
@@ -74,8 +74,8 @@ const struct man_macro __man_macros[MAN_MAX] = {
{ in_line_eoln, 0 }, /* RI */
{ in_line_eoln, MAN_NSCOPED }, /* na */
{ in_line_eoln, MAN_NSCOPED }, /* sp */
- { in_line_eoln, 0 }, /* nf */
- { in_line_eoln, 0 }, /* fi */
+ { in_line_eoln, MAN_BSCOPE }, /* nf */
+ { in_line_eoln, MAN_BSCOPE }, /* fi */
{ blk_close, 0 }, /* RE */
{ blk_exp, MAN_EXPLICIT }, /* RS */
{ in_line_eoln, 0 }, /* DT */