summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-04-06 22:06:23 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-04-06 22:06:23 +0000
commit783bc3a527ff5c2b0e27b9da575cdf4d3cfc63f3 (patch)
tree3b9f6342694760a38e670aafe2b8cf24b1b2005b
parent3659cf8ba988c65563a22589e56fcd2c7ca01330 (diff)
downloadmandoc-783bc3a527ff5c2b0e27b9da575cdf4d3cfc63f3.tar.gz
Do not mistreat empty arguments to font alternating macros
as vertical spacing requests. Bug found with xmahjongg(6).
-rw-r--r--TODO5
-rw-r--r--man_term.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/TODO b/TODO
index d984dff1..cbfd663e 100644
--- a/TODO
+++ b/TODO
@@ -66,6 +66,7 @@ are mere guesses, and some may be wrong.
loc * exist * algo * size * imp **
- .ns (no-space mode) occurs in xine-config(1)
+ when implementing this, also let .TH set it
reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500
loc *** exist *** algo *** size ** imp *
@@ -479,6 +480,10 @@ are mere guesses, and some may be wrong.
found while talking to Chris Bennett
loc * exist * algo * size * imp *
+- Sequences of multiple man(7) paragraphs (.PP, .IP) interspersed
+ with .ps and .nf/.fi produce execessive blank lines, see libJudy
+ The parser reorg may help with this.
+
- trailing whitespace must be ignored even when followed by a font escape,
see for example
makes
diff --git a/man_term.c b/man_term.c
index aac54eef..98be2c97 100644
--- a/man_term.c
+++ b/man_term.c
@@ -321,7 +321,10 @@ pre_alternate(DECL_ARGS)
term_fontrepl(p, font[i]);
if (savelit && NULL == nn->next)
mt->fl |= MANT_LITERAL;
- print_man_node(p, mt, nn, meta);
+ assert(nn->type == ROFFT_TEXT);
+ term_word(p, nn->string);
+ if (nn->flags & MAN_EOS)
+ p->flags |= TERMP_SENTENCE;
if (nn->next)
p->flags |= TERMP_NOSPACE;
}