summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2019-01-05 18:59:46 +0000
committerIngo Schwarze <schwarze@openbsd.org>2019-01-05 18:59:46 +0000
commit19b09bbc34fc7a6c2c6c12748d1b60a0f5690ee9 (patch)
tree46cd18374606bb950d4ac973ebdd9e4e506c3431
parent693184a6fa600bc160ad4a979bc296b31d5c302f (diff)
downloadmandoc-19b09bbc34fc7a6c2c6c12748d1b60a0f5690ee9.tar.gz
In HTML output, man(7) .RS blocks get formatted as <div class="Bd-indent">,
and i can see no reasonable alternative: they do indeed represent indented displays. They certainly require flow context and make no sense in phrasing context. Consequently, they have to suspend no-fill mode during their head, in just the same way as other paragraph-type macros do it. This fixes HTML syntax errors that resulted from .nf followed by .RS.
-rw-r--r--man_macro.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/man_macro.c b/man_macro.c
index 844d41e9..7cc8a7e7 100644
--- a/man_macro.c
+++ b/man_macro.c
@@ -297,8 +297,10 @@ blk_exp(MACRO_PROT_ARGS)
char *p;
int la;
- if (tok == MAN_RS)
+ if (tok == MAN_RS) {
rew_scope(man, tok);
+ man->flags |= ROFF_NONOFILL;
+ }
roff_block_alloc(man, line, ppos, tok);
head = roff_head_alloc(man, line, ppos, tok);
@@ -322,6 +324,7 @@ blk_exp(MACRO_PROT_ARGS)
man_unscope(man, head);
roff_body_alloc(man, line, ppos, tok);
+ man->flags &= ~ROFF_NONOFILL;
}
/*