diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2011-11-07 01:24:40 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2011-11-07 01:24:40 +0000 |
commit | 9830303b6541ca2717331d52b40997c9e566a48b (patch) | |
tree | bef7f838061058f52f46cf360a8feec0e93a87e9 /man_macro.c | |
parent | a3d2601486005576848664f22121fcd2881778e3 (diff) | |
download | mandoc-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.c | 22 |
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 */ |