-# $OpenBSD: Makefile,v 1.1 2014/08/14 02:00:52 schwarze Exp $
+# $OpenBSD: Makefile,v 1.2 2017/06/03 15:54:09 schwarze Exp $
-REGRESS_TARGETS = args
-LINT_TARGETS = args
+REGRESS_TARGETS = args blank
+LINT_TARGETS = args blank
+
+# groff-1.22.3 defect:
+# - A blank line in next line scope causes a blank line.
+SKIP_GROFF = blank
.include <bsd.regress.mk>
--- /dev/null
+.TH B-BLANK 1 "June 3, 2017" OpenBSD
+.SH NAME
+B-blank \- blank line in font macro next line scope
+.SH DESCRIPTION
+A blank line in
+.B
+
+bold
+next line scope.
--- /dev/null
+B-BLANK(1) General Commands Manual B-BLANK(1)
+
+
+
+N\bNA\bAM\bME\bE
+ B-blank - blank line in font macro next line scope
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+ A blank line in b\bbo\bol\bld\bd next line scope.
+
+
+
+OpenBSD June 3, 2017 B-BLANK(1)
--- /dev/null
+mandoc: blank.in:7:1: WARNING: skipping blank line in line scope
-# $OpenBSD: Makefile,v 1.4 2015/04/04 18:52:12 schwarze Exp $
+# $OpenBSD: Makefile,v 1.5 2017/06/03 15:54:09 schwarze Exp $
REGRESS_TARGETS = broken broken_eline empty_before longarg noarg
LINT_TARGETS = broken broken_eline empty_before noarg
# - If .HP breaks .SH, a line is broken after the next input line.
# - If .RS/RE/nf/fi breaks .SH, the next input line becomes bold.
# - .UR does not break .SH.
+# - blank line in .SH next line scope causes blank lines and bogus indent
SKIP_GROFF = broken broken_eline noarg
.SH
.fi
back in fill mode
+.SH
+
+SEE ALSO
+broken(1)
back in fill mode
+S\bSE\bEE\bE A\bAL\bLS\bSO\bO
+ broken(1)
+
OpenBSD March 20, 2015 SH-NOARG(1)
mandoc: noarg.in:34:2: WARNING: line scope broken: UE breaks SH
mandoc: noarg.in:35:2: ERROR: skipping end of block that is not open: UE
mandoc: noarg.in:41:2: WARNING: fill mode already enabled, skipping: fi
+mandoc: noarg.in:44:1: WARNING: skipping blank line in line scope
-# $OpenBSD: Makefile,v 1.2 2015/04/04 18:52:12 schwarze Exp $
+# $OpenBSD: Makefile,v 1.3 2017/06/03 15:54:09 schwarze Exp $
REGRESS_TARGETS = broken broken_eline longarg noarg
LINT_TARGETS = broken broken_eline noarg
# - If .HP breaks .SS, a line is broken after the next input line.
# - If .RS/RE/nf/fi breaks .SS, the next input line becomes bold.
# - .UR does not break .SS.
+# - blank line in .SS next-line scope causes a blank line
SKIP_GROFF = broken broken_eline noarg
.SS
.fi
back in fill mode
+.SS
+
+Subsection
+with a blank line
back in fill mode
+ S\bSu\bub\bbs\bse\bec\bct\bti\bio\bon\bn
+ with a blank line
+
OpenBSD March 20, 2015 SS-NOARG(1)
mandoc: noarg.in:34:2: WARNING: line scope broken: UE breaks SS
mandoc: noarg.in:35:2: ERROR: skipping end of block that is not open: UE
mandoc: noarg.in:41:2: WARNING: fill mode already enabled, skipping: fi
+mandoc: noarg.in:44:1: WARNING: skipping blank line in line scope
-# $OpenBSD: Makefile,v 1.12 2015/09/21 13:24:32 schwarze Exp $
+# $OpenBSD: Makefile,v 1.13 2017/06/03 15:54:09 schwarze Exp $
REGRESS_TARGETS = badarg broken double eof fill literal longhead
REGRESS_TARGETS += macrotag manyargs sameline spacing width
# groff-1.22.3 defects:
# - If .TP precedes .RE, the latter does not properly reset indentation.
# - If the last line of the file is .TP, groff does not print a page footer.
+# - A blank line in .TP next line scope causes a blank line.
SKIP_GROFF = broken eof
.RE
regular
text
+.TP
+
+head
+body
indented text
regular text
+ head body
+
OpenBSD December 16, 2014 TP-BROKEN(1)
mandoc: broken.in:10:2: WARNING: line scope broken: RE breaks TP
+mandoc: broken.in:15:1: WARNING: skipping blank line in line scope
-/* $OpenBSD: man.c,v 1.121 2017/05/08 20:33:40 schwarze Exp $ */
+/* $OpenBSD: man.c,v 1.122 2017/06/03 15:54:09 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2013, 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
/* Skip leading whitespace. */ ;
/*
- * Blank lines are ignored right after headings
- * but add a single vertical space elsewhere.
+ * Blank lines are ignored in next line scope and right
+ * after headings but add a single vertical space elsewhere.
*/
if (buf[i] == '\0') {
- man_breakscope(man, ROFF_sp);
- /* Allocate a blank entry. */
- if (man->last->tok != MAN_SH &&
+ if (man->flags & (MAN_ELINE | MAN_BLINE))
+ mandoc_msg(MANDOCERR_BLK_BLANK, man->parse,
+ line, 0, NULL);
+ else if (man->last->tok != MAN_SH &&
man->last->tok != MAN_SS) {
roff_elem_alloc(man, line, offs, ROFF_sp);
man->next = ROFF_NEXT_SIBLING;
-/* $OpenBSD: mandoc.h,v 1.163 2017/06/02 19:21:03 schwarze Exp $ */
+/* $OpenBSD: mandoc.h,v 1.164 2017/06/03 15:54:09 schwarze Exp $ */
/*
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
MANDOCERR_FI_SKIP, /* fill mode already enabled, skipping: fi */
MANDOCERR_NF_SKIP, /* fill mode already disabled, skipping: nf */
MANDOCERR_BLK_LINE, /* line scope broken: macro breaks macro */
+ MANDOCERR_BLK_BLANK, /* skipping blank line in line scope */
/* related to missing arguments */
MANDOCERR_REQ_EMPTY, /* skipping empty request: request */
-/* $OpenBSD: read.c,v 1.140 2017/06/01 15:24:41 schwarze Exp $ */
+/* $OpenBSD: read.c,v 1.141 2017/06/03 15:54:09 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
"fill mode already enabled, skipping",
"fill mode already disabled, skipping",
"line scope broken",
+ "skipping blank line in line scope",
/* related to missing macro arguments */
"skipping empty request",