From 5179a6f85473d6533f50f28255252719ec60009d Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 26 Nov 2018 17:44:34 +0000 Subject: When a conditional block is closed by putting "\}" on a text line by itself (which is somewhat unusual but not invalid; most authors use the empty macro line ".\}" instead), agree more closely with groff and do not produce a double space in the output. Quirk reported by millert@. While here, tweak the rest of the function body of roff_cond_text() to more closely match roff_cond_sub(). The subtly different handling could make people (including myself) wonder whether there is any point in being different. Testing shows there is not. --- regress/roff/cond/close.in | 18 +++++++++++++++++- regress/roff/cond/close.out_ascii | 12 +++++++++++- regress/roff/cond/close.out_lint | 4 ++-- 3 files changed, 30 insertions(+), 4 deletions(-) (limited to 'regress/roff') diff --git a/regress/roff/cond/close.in b/regress/roff/cond/close.in index 6bdf3781..74b402c8 100644 --- a/regress/roff/cond/close.in +++ b/regress/roff/cond/close.in @@ -1,5 +1,5 @@ .\" $OpenBSD: close.in,v 1.3 2017/07/04 14:53:26 schwarze Exp $ -.TH COND-CLOSE 1 2013-06-27 +.TH COND-CLOSE 1 "November 26, 2018" .SH NAME cond-close \- closing conditional macros .SH DESCRIPTION @@ -12,5 +12,21 @@ closing after an ignored macro .if t \{text \} closing after plain text .PP +.if n \{conditional content \} following words with whitespace +.PP +.if n \{conditional content\}following words without whitespace +.PP +preceding words +.if n \{\ +standard multi-line style +.\} +following words +.PP +preceding words +.if n \{ +non-standard multi-line style +\} +following words +.PP .if n \{ still open at the end of the file diff --git a/regress/roff/cond/close.out_ascii b/regress/roff/cond/close.out_ascii index 244d4154..d049154d 100644 --- a/regress/roff/cond/close.out_ascii +++ b/regress/roff/cond/close.out_ascii @@ -12,8 +12,18 @@ DDEESSCCRRIIPPTTIIOONN closing after plain text + conditional content following words with whitespace + + conditional contentfollowing words without whitespace + + preceding words standard multi-line style following words + + preceding words + + non-standard multi-line style following words + still open at the end of the file -OpenBSD 2013-06-27 COND-CLOSE(1) +OpenBSD November 26, 2018 COND-CLOSE(1) diff --git a/regress/roff/cond/close.out_lint b/regress/roff/cond/close.out_lint index 4387b057..d6f52146 100644 --- a/regress/roff/cond/close.out_lint +++ b/regress/roff/cond/close.out_lint @@ -1,2 +1,2 @@ -mandoc: close.in:15:2: ERROR: appending missing end of block: if -mandoc: close.in:15:9: WARNING: skipping paragraph macro: sp after PP +mandoc: close.in:31:2: ERROR: appending missing end of block: if +mandoc: close.in:31:9: WARNING: skipping paragraph macro: sp after PP -- cgit