REGRESS_TARGETS += notype multitype badargs
REGRESS_TARGETS += empty noIt emptyhead emptytag emptyitem multitag
-REGRESS_TARGETS += bareIt bareTa unclosed break breakingIt broken
+REGRESS_TARGETS += bareIt bareTa unclosed break breakingIt breakingTa broken
UTF8_TARGETS = dash
LINT_TARGETS += empty noIt emptyhead emptytag emptyitem
LINT_TARGETS += bareIt bareTa break breakingIt broken
+# groff-mandoc differences:
+# - groff allows enclosures to span Ta, mandoc does not
+
+SKIP_GROFF ?= breakingTa
+
# groff-1.22.3 defects:
# - lists with missing or late type ruin indentation
# - empty lists ruin indentation and sometimes cause empty lines
# - breaking a list aborts processing
# - empty -tag item heads lose the blank line and the indentation
-SKIP_GROFF ?= notype empty break breakingIt broken emptytag
+SKIP_GROFF += notype empty break breakingIt broken emptytag
-SKIP_TMAN ?= column colNoIt multitype multitag bareTa break broken
+SKIP_TMAN ?= column colNoIt multitype multitag bareTa break breakingTa broken
# Fixing the indentation in long .IP and .TP tags in -man -Tascii
# caused a minor regression in -Tman that is not trivial to fix,
--- /dev/null
+.Dd February 11, 2017
+.Dt BL-BREAKINGTA 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-breakingTa
+.Nd tab macro breaking a block
+.Sh DESCRIPTION
+.\" Crashed before mdoc_macro.c OpenBSD rev. 1.172
+initial text
+.Bl -column 6n 6n
+.It it Aq aq Ta ta Bo bo bc
+.Bc Pq pq
+.El
+final text
--- /dev/null
+BL-BREAKINGTA(1) General Commands Manual BL-BREAKINGTA(1)
+
+N\bNA\bAM\bME\bE
+ B\bBl\bl-\b-b\bbr\bre\bea\bak\bki\bin\bng\bgT\bTa\ba - tab macro breaking a block
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+ initial text
+
+ it <aq> ta [bo bc] (pq)
+ final text
+
+OpenBSD February 11, 2017 OpenBSD
.It outer tag
outer text
.El
+.Pp
+Broken together with a child block:
+.\" Crashed before mdoc_macro.c OpenBSD rev. 1.171
+.Ao ao
+.Bo bo
+.Nd nd
+.Pq pq bc Bc ac
+.Ac Op op
end of file
outer tag
outer text
- end of file
+
+ Broken together with a child block: <ao [bo - nd (pq bc] ac)> [op] end of
+ file
OpenBSD February 11, 2015 OpenBSD
+mandoc: broken.in:28:11: WARNING: blocks badly nested: Bo breaks Pq
mandoc: broken.in:5:2: WARNING: bad NAME section content: Oo
mandoc: broken.in:9:1: WARNING: bad NAME section content: text
mandoc: broken.in:4:2: WARNING: NAME section without Nm before Nd
REGRESS_TARGETS += empty emptyNAME emptyNAMEuse
REGRESS_TARGETS += font long par parns punct
-LINT_TARGETS = badNAME badNAMEuse break
+LINT_TARGETS = badNAME badNAMEuse break broken
# groff-1.22.3/mandoc differences:
# - When the head of an Nm block in the SYNOPSIS is broken by an
-.Dd February 2, 2015
+.Dd February 11, 2017
.Dt NM-BROKEN 1
.Os OpenBSD
.Sh NAME
.Ft int
.Fo function
.Nm name Fc tail
+.\" Crashed in validation before mdoc_macro.c OpenBSD rev. 1.167
+.Bl -dash
+.Oo oo
+.Nm nm
+.Bk -words
+oc
+.Oc
+.Ek
+.It
+item
+.El
S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
_\bi_\bn_\bt
f\bfu\bun\bnc\bct\bti\bio\bon\bn(n\bna\bam\bme\be);
- tail
+ tail [oo
+ n\bnm\bm oc]
-OpenBSD February 2, 2015 OpenBSD
+ -\b- item
+
+OpenBSD February 11, 2017 OpenBSD
--- /dev/null
+mandoc: broken.in:17:2: WARNING: blocks badly nested: Oo breaks Bk
+mandoc: broken.in:13:2: WARNING: moving content out of list: Oo
-.Dd April 5, 2015
+.Dd February 11, 2017
.Dt BREAK-TAIL 1
.Os OpenBSD
.Sh NAME
.Nm break-tail
-.Nd tail arguments on broken blocks
+.Nd tail arguments on or after broken blocks
.Sh DESCRIPTION
Broken by a partial explicit block:
.Ao ao
.Pc tail
list body
.El
+.Pp
+After a broken block: closing child on closing macro,
+then opening child on closing macro:
+.\" Crashed before mdoc_macro.c OpenBSD rev. 1.169
+.Ao ao
+.Bo bo
+.Bro bro
+.Po po brc
+.Brc pc
+.Pc bc Bc ac
+.Ac Op op
BREAK-TAIL(1) General Commands Manual BREAK-TAIL(1)
N\bNA\bAM\bME\bE
- b\bbr\bre\bea\bak\bk-\b-t\bta\bai\bil\bl - tail arguments on broken blocks
+ b\bbr\bre\bea\bak\bk-\b-t\bta\bai\bil\bl - tail arguments on or after broken blocks
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
Broken by a partial explicit block: <ao [bo ac> bc] tail <ao [bo ac> bc]
it <ao ac> (po pc) tail
list body
-OpenBSD April 5, 2015 OpenBSD
+ After a broken block: closing child on closing macro, then opening child
+ on closing macro: <ao [bo {bro (po brc} pc) bc] ac> [op]
+
+OpenBSD February 11, 2017 OpenBSD
mandoc: tail.in:15:2: WARNING: blocks badly nested: Ao breaks Bo
mandoc: tail.in:20:2: WARNING: blocks badly nested: Aq breaks Bo
mandoc: tail.in:22:2: WARNING: blocks badly nested: Aq breaks Bo
+mandoc: tail.in:46:2: WARNING: blocks badly nested: Bro breaks Po