From 783bc3a527ff5c2b0e27b9da575cdf4d3cfc63f3 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 6 Apr 2015 22:06:23 +0000 Subject: Do not mistreat empty arguments to font alternating macros as vertical spacing requests. Bug found with xmahjongg(6). --- TODO | 5 +++++ man_term.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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; } -- cgit