aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/regress/mdoc/Bl
diff options
context:
space:
mode:
Diffstat (limited to 'regress/mdoc/Bl')
-rw-r--r--regress/mdoc/Bl/Makefile38
-rw-r--r--regress/mdoc/Bl/badargs.in78
-rw-r--r--regress/mdoc/Bl/badargs.out_ascii43
-rw-r--r--regress/mdoc/Bl/badargs.out_lint18
-rw-r--r--regress/mdoc/Bl/bareIt.in15
-rw-r--r--regress/mdoc/Bl/bareIt.out_ascii12
-rw-r--r--regress/mdoc/Bl/bareIt.out_lint3
-rw-r--r--regress/mdoc/Bl/bareTa.in26
-rw-r--r--regress/mdoc/Bl/bareTa.out_ascii18
-rw-r--r--regress/mdoc/Bl/bareTa.out_lint5
-rw-r--r--regress/mdoc/Bl/break.in77
-rw-r--r--regress/mdoc/Bl/break.out_ascii49
-rw-r--r--regress/mdoc/Bl/break.out_lint18
-rw-r--r--regress/mdoc/Bl/breakingIt.in69
-rw-r--r--regress/mdoc/Bl/breakingIt.out_ascii47
-rw-r--r--regress/mdoc/Bl/breakingIt.out_lint16
-rw-r--r--regress/mdoc/Bl/broken.in28
-rw-r--r--regress/mdoc/Bl/broken.out_ascii19
-rw-r--r--regress/mdoc/Bl/broken.out_lint3
-rw-r--r--regress/mdoc/Bl/bullet.in81
-rw-r--r--regress/mdoc/Bl/bullet.out_ascii67
-rw-r--r--regress/mdoc/Bl/colNoIt.in15
-rw-r--r--regress/mdoc/Bl/colNoIt.out_ascii13
-rw-r--r--regress/mdoc/Bl/column.in105
-rw-r--r--regress/mdoc/Bl/column.out_ascii74
-rw-r--r--regress/mdoc/Bl/column.out_lint4
-rw-r--r--regress/mdoc/Bl/dash.in81
-rw-r--r--regress/mdoc/Bl/dash.out_ascii67
-rw-r--r--regress/mdoc/Bl/dash.out_utf867
-rw-r--r--regress/mdoc/Bl/diag.in54
-rw-r--r--regress/mdoc/Bl/diag.out_ascii39
-rw-r--r--regress/mdoc/Bl/empty.in41
-rw-r--r--regress/mdoc/Bl/empty.out_ascii20
-rw-r--r--regress/mdoc/Bl/empty.out_lint11
-rw-r--r--regress/mdoc/Bl/emptyhead.in43
-rw-r--r--regress/mdoc/Bl/emptyhead.out_ascii38
-rw-r--r--regress/mdoc/Bl/emptyhead.out_lint4
-rw-r--r--regress/mdoc/Bl/emptyitem.in39
-rw-r--r--regress/mdoc/Bl/emptyitem.out_ascii36
-rw-r--r--regress/mdoc/Bl/emptyitem.out_lint8
-rw-r--r--regress/mdoc/Bl/emptytag.in17
-rw-r--r--regress/mdoc/Bl/emptytag.out_ascii16
-rw-r--r--regress/mdoc/Bl/emptytag.out_lint1
-rw-r--r--regress/mdoc/Bl/enum.in81
-rw-r--r--regress/mdoc/Bl/enum.out_ascii67
-rw-r--r--regress/mdoc/Bl/extend.in31
-rw-r--r--regress/mdoc/Bl/extend.out_ascii18
-rw-r--r--regress/mdoc/Bl/hang.in111
-rw-r--r--regress/mdoc/Bl/hang.out_ascii85
-rw-r--r--regress/mdoc/Bl/inset.in48
-rw-r--r--regress/mdoc/Bl/inset.out_ascii37
-rw-r--r--regress/mdoc/Bl/item.in23
-rw-r--r--regress/mdoc/Bl/item.out_ascii16
-rw-r--r--regress/mdoc/Bl/multitag.in47
-rw-r--r--regress/mdoc/Bl/multitag.out_ascii42
-rw-r--r--regress/mdoc/Bl/multitype.in11
-rw-r--r--regress/mdoc/Bl/multitype.out_ascii9
-rw-r--r--regress/mdoc/Bl/nested.in83
-rw-r--r--regress/mdoc/Bl/nested.out_ascii54
-rw-r--r--regress/mdoc/Bl/noIt.in24
-rw-r--r--regress/mdoc/Bl/noIt.out_ascii15
-rw-r--r--regress/mdoc/Bl/noIt.out_lint8
-rw-r--r--regress/mdoc/Bl/notype.in26
-rw-r--r--regress/mdoc/Bl/notype.out_ascii21
-rw-r--r--regress/mdoc/Bl/notype.out_lint5
-rw-r--r--regress/mdoc/Bl/offset.in79
-rw-r--r--regress/mdoc/Bl/offset.out_ascii51
-rw-r--r--regress/mdoc/Bl/ohang.in23
-rw-r--r--regress/mdoc/Bl/ohang.out_ascii22
-rw-r--r--regress/mdoc/Bl/secstart.in39
-rw-r--r--regress/mdoc/Bl/secstart.out_ascii26
-rw-r--r--regress/mdoc/Bl/tag.in154
-rw-r--r--regress/mdoc/Bl/tag.out_ascii134
-rw-r--r--regress/mdoc/Bl/tag.out_lint1
-rw-r--r--regress/mdoc/Bl/unclosed.in12
-rw-r--r--regress/mdoc/Bl/unclosed.out_ascii12
76 files changed, 2938 insertions, 0 deletions
diff --git a/regress/mdoc/Bl/Makefile b/regress/mdoc/Bl/Makefile
new file mode 100644
index 00000000..3d21a8be
--- /dev/null
+++ b/regress/mdoc/Bl/Makefile
@@ -0,0 +1,38 @@
+# $OpenBSD: Makefile,v 1.31 2016/10/17 19:00:16 schwarze Exp $
+
+REGRESS_TARGETS = item inset diag ohang bullet dash enum hang tag
+REGRESS_TARGETS += column colNoIt extend nested offset secstart
+
+REGRESS_TARGETS += notype multitype badargs
+REGRESS_TARGETS += empty noIt emptyhead emptytag emptyitem multitag
+REGRESS_TARGETS += bareIt bareTa unclosed break breakingIt broken
+
+UTF8_TARGETS = dash
+
+LINT_TARGETS = column notype badargs tag
+LINT_TARGETS += empty noIt emptyhead emptytag emptyitem
+LINT_TARGETS += bareIt bareTa break breakingIt broken
+
+# groff-1.22.3 defects:
+# - lists with missing or late type ruin indentation
+# - empty lists ruin indentation and sometimes cause empty lines
+# - breaking lists continue indefinitely
+# - breaking items sometimes ruin indentation, sometimes abort processing
+# - 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_TMAN ?= column colNoIt multitype multitag bareTa break 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,
+# so disable the related test for now.
+
+SKIP_TMAN += tag
+
+# Empty heads are still mishandled by -Tman.
+
+SKIP_TMAN += emptyhead emptytag
+
+.include <bsd.regress.mk>
diff --git a/regress/mdoc/Bl/badargs.in b/regress/mdoc/Bl/badargs.in
new file mode 100644
index 00000000..9c825b5e
--- /dev/null
+++ b/regress/mdoc/Bl/badargs.in
@@ -0,0 +1,78 @@
+.Dd February 4, 2015
+.Dt BL-BADARGS 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-badargs
+.Nd list with bad arguments
+.Sh DESCRIPTION
+trailing -offset:
+.Bl -bullet -offset
+.It
+is ignored
+.El
+trailing -width:
+.Bl -bullet -width
+.It
+bullet
+.El
+.Bl -dash -width
+.It
+dash
+.El
+.\" XXX Doesn't work with -Tman yet.
+.\" .Bl -enum -width
+.\" .It
+.\" enum
+.\" .El
+.Bl -hyphen -width
+.It
+hyphen
+.El
+.Bl -hang -width
+.It hang
+item
+.El
+.Bl -tag -width
+.It tag
+Here we need a very long line.
+It must be sufficiently long such that it wraps the line.
+.El
+double type:
+.Bl -bullet -compact -enum
+.It
+bullet enum
+.El
+.Bl -enum -compact -bullet
+.It
+enum bullet
+.El
+unknown arguments:
+.Bl -bullet -bogus args
+.It
+bullet text
+.El
+.Bl -enum -bogus args
+.It
+enum text
+.El
+.Bl -inset -bogus args
+.It inset
+text
+.El
+.Bl -item -bogus args
+.It
+item text
+.El
+.Bl -ohang -bogus args
+.It ohang
+text
+.El
+.Bl -tag -width Ds -bogus args
+.It tag
+text
+.El
+double arguments:
+.Bl -tag -compact -offset 20n -width 20n -compact -offset 2n -width 6n
+.It last
+wins
+.El tail argument
diff --git a/regress/mdoc/Bl/badargs.out_ascii b/regress/mdoc/Bl/badargs.out_ascii
new file mode 100644
index 00000000..ad1707b1
--- /dev/null
+++ b/regress/mdoc/Bl/badargs.out_ascii
@@ -0,0 +1,43 @@
+BL-BADARGS(1) General Commands Manual BL-BADARGS(1)
+
+NNAAMMEE
+ BBll--bbaaddaarrggss - list with bad arguments
+
+DDEESSCCRRIIPPTTIIOONN
+ trailing -offset:
+
+ ++oo is ignored
+ trailing -width:
+
+ ++oo bullet
+
+ -- dash
+
+ -- hyphen
+
+ hang item
+
+ tag
+ Here we need a very long line. It must be sufficiently long such that
+ it wraps the line.
+ double type:
+ ++oo bullet enum
+ 1. enum bullet
+ unknown arguments:
+
+ ++oo bullet text
+
+ 1. enum text
+
+ inset text
+
+ item text
+
+ ohang
+ text
+
+ tag text
+ double arguments:
+ last wins
+
+OpenBSD February 4, 2015 OpenBSD
diff --git a/regress/mdoc/Bl/badargs.out_lint b/regress/mdoc/Bl/badargs.out_lint
new file mode 100644
index 00000000..ac9ee13b
--- /dev/null
+++ b/regress/mdoc/Bl/badargs.out_lint
@@ -0,0 +1,18 @@
+mandoc: badargs.in:78:2: ERROR: skipping all arguments: El tail argument
+mandoc: badargs.in:9:13: WARNING: empty argument, using 0n: Bl -offset
+mandoc: badargs.in:14:13: WARNING: empty argument, using 0n: Bl -width
+mandoc: badargs.in:18:11: WARNING: empty argument, using 0n: Bl -width
+mandoc: badargs.in:27:13: WARNING: empty argument, using 0n: Bl -width
+mandoc: badargs.in:31:11: WARNING: empty argument, using 0n: Bl -width
+mandoc: badargs.in:35:10: WARNING: empty argument, using 0n: Bl -width
+mandoc: badargs.in:41:2: WARNING: skipping duplicate list type: Bl -enum
+mandoc: badargs.in:45:2: WARNING: skipping duplicate list type: Bl -bullet
+mandoc: badargs.in:50:13: ERROR: skipping excess arguments: Bl ... -bogus
+mandoc: badargs.in:54:11: ERROR: skipping excess arguments: Bl ... -bogus
+mandoc: badargs.in:58:12: ERROR: skipping excess arguments: Bl ... -bogus
+mandoc: badargs.in:62:11: ERROR: skipping excess arguments: Bl ... -bogus
+mandoc: badargs.in:66:12: ERROR: skipping excess arguments: Bl ... -bogus
+mandoc: badargs.in:70:20: ERROR: skipping excess arguments: Bl ... -bogus
+mandoc: badargs.in:75:42: WARNING: duplicate argument: Bl -compact
+mandoc: badargs.in:75:51: WARNING: duplicate argument: Bl -offset 2n
+mandoc: badargs.in:75:62: WARNING: duplicate argument: Bl -width 6n
diff --git a/regress/mdoc/Bl/bareIt.in b/regress/mdoc/Bl/bareIt.in
new file mode 100644
index 00000000..ad43c4bf
--- /dev/null
+++ b/regress/mdoc/Bl/bareIt.in
@@ -0,0 +1,15 @@
+.Dd August 16, 2014
+.Dt BL-BAREIT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-bareIt
+.Nd item macro outside list
+.Sh DESCRIPTION
+initial text
+.It argument
+.Bl -dash
+.It
+item
+.El
+.It argument
+final text
diff --git a/regress/mdoc/Bl/bareIt.out_ascii b/regress/mdoc/Bl/bareIt.out_ascii
new file mode 100644
index 00000000..9c625c74
--- /dev/null
+++ b/regress/mdoc/Bl/bareIt.out_ascii
@@ -0,0 +1,12 @@
+BL-BAREIT(1) General Commands Manual BL-BAREIT(1)
+
+NNAAMMEE
+ BBll--bbaarreeIItt - item macro outside list
+
+DDEESSCCRRIIPPTTIIOONN
+ initial text
+
+ -- item
+ final text
+
+OpenBSD August 16, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/bareIt.out_lint b/regress/mdoc/Bl/bareIt.out_lint
new file mode 100644
index 00000000..8e06273b
--- /dev/null
+++ b/regress/mdoc/Bl/bareIt.out_lint
@@ -0,0 +1,3 @@
+mandoc: bareIt.in:9:2: ERROR: skipping item outside list: It argument
+mandoc: bareIt.in:14:2: ERROR: skipping item outside list: It argument
+mandoc: bareIt.in:9:2: WARNING: skipping paragraph macro: br before Bl
diff --git a/regress/mdoc/Bl/bareTa.in b/regress/mdoc/Bl/bareTa.in
new file mode 100644
index 00000000..12eaf45e
--- /dev/null
+++ b/regress/mdoc/Bl/bareTa.in
@@ -0,0 +1,26 @@
+.Dd November 12, 2012
+.Dt TA-BARE 1
+.Os OpenBSD
+.Sh NAME
+.Nm Ta-bare
+.Nd bare tabular column macro
+.Sh DESCRIPTION
+initial text
+.Ta ignored arguments
+middle text
+.Bl -item -offset indent
+.It
+.Ta ignored arguments
+indented text
+.El
+middle text
+.Bl -dash
+.It Ta ignored arguments
+indented text
+.El
+middle text
+.Bl -column "a" "b" -offset indent
+.It a Ta b
+.El
+.It ignored arguments
+final text
diff --git a/regress/mdoc/Bl/bareTa.out_ascii b/regress/mdoc/Bl/bareTa.out_ascii
new file mode 100644
index 00000000..831ffee8
--- /dev/null
+++ b/regress/mdoc/Bl/bareTa.out_ascii
@@ -0,0 +1,18 @@
+TA-BARE(1) General Commands Manual TA-BARE(1)
+
+NNAAMMEE
+ TTaa--bbaarree - bare tabular column macro
+
+DDEESSCCRRIIPPTTIIOONN
+ initial text middle text
+
+ indented text
+ middle text
+
+ -- indented text
+ middle text
+
+ a b
+ final text
+
+OpenBSD November 12, 2012 OpenBSD
diff --git a/regress/mdoc/Bl/bareTa.out_lint b/regress/mdoc/Bl/bareTa.out_lint
new file mode 100644
index 00000000..19cb4ebb
--- /dev/null
+++ b/regress/mdoc/Bl/bareTa.out_lint
@@ -0,0 +1,5 @@
+mandoc: bareTa.in:9:2: ERROR: skipping column outside column list: Ta
+mandoc: bareTa.in:13:2: ERROR: skipping column outside column list: Ta
+mandoc: bareTa.in:18:5: ERROR: skipping column outside column list: Ta
+mandoc: bareTa.in:25:2: ERROR: skipping item outside list: It ignored arguments
+mandoc: bareTa.in:18:2: ERROR: skipping all arguments: It ignored arguments
diff --git a/regress/mdoc/Bl/break.in b/regress/mdoc/Bl/break.in
new file mode 100644
index 00000000..3246fdc7
--- /dev/null
+++ b/regress/mdoc/Bl/break.in
@@ -0,0 +1,77 @@
+.Dd August 20, 2016
+.Dt BL-BREAK 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-break
+.Nd list breaking another block
+.Sh DESCRIPTION
+before both
+.Bl -enum -offset indent
+.It
+before bracket
+.Bo inside both
+.El
+after list
+.Bc
+in between
+.Bl -enum -offset indent
+.It
+before bracket
+.Bo inside both
+.El
+.It
+stray item
+.Bc
+after both
+.Sh EXAMPLES
+.Bl -enum -offset indent
+.It
+before display
+.Bd -ragged -offset indent
+inside both
+.El
+after display
+.Ed
+in between
+.Bl -enum -offset indent
+.It
+before display
+.Bd -ragged -offset indent
+inside both
+.El
+.It
+stray item
+.Ed
+after both
+.Bl -enum -offset indent
+.It
+before table
+.Bl -column column
+.It column
+.Bd -ragged -offset indent
+inside display
+.El
+first line after table
+second line after table
+.El
+after list
+.Sh DIAGNOSTICS
+.Bl -column column
+.It column
+.Bd -ragged -offset indent
+inside display
+.El
+.Ta stray tab
+after stray tab
+.Ed
+after display
+.Sh CAVEATS
+.Bl -hang
+.It before broken block Bo inside both
+.El
+after list
+.Sh BUGS
+.Bl -enum
+.It before broken block Bo inside both
+.El
+after list
diff --git a/regress/mdoc/Bl/break.out_ascii b/regress/mdoc/Bl/break.out_ascii
new file mode 100644
index 00000000..692711c4
--- /dev/null
+++ b/regress/mdoc/Bl/break.out_ascii
@@ -0,0 +1,49 @@
+BL-BREAK(1) General Commands Manual BL-BREAK(1)
+
+NNAAMMEE
+ BBll--bbrreeaakk - list breaking another block
+
+DDEESSCCRRIIPPTTIIOONN
+ before both
+
+ 1. before bracket [inside both after list]
+ in between
+
+ 1. before bracket [inside both
+ stray item]
+ after both
+
+EEXXAAMMPPLLEESS
+ 1. before display
+
+ inside both after display
+ in between
+
+ 1. before display
+
+ inside both
+ stray item
+ after both
+
+ 1. before table
+
+ column
+
+ inside display first line after table second line after
+ table after list
+
+
+DDIIAAGGNNOOSSTTIICCSS
+ column
+
+ inside display after stray tab
+
+ after display
+
+CCAAVVEEAATTSS
+ before broken block [inside both after list]
+
+BBUUGGSS
+ 1.
+
+OpenBSD August 20, 2016 OpenBSD
diff --git a/regress/mdoc/Bl/break.out_lint b/regress/mdoc/Bl/break.out_lint
new file mode 100644
index 00000000..fe099a47
--- /dev/null
+++ b/regress/mdoc/Bl/break.out_lint
@@ -0,0 +1,18 @@
+mandoc: break.in:13:2: WARNING: blocks badly nested: Bl breaks Bo
+mandoc: break.in:21:2: WARNING: blocks badly nested: Bl breaks Bo
+mandoc: break.in:22:2: ERROR: skipping item outside list: It
+mandoc: break.in:32:2: WARNING: blocks badly nested: Bl breaks Bd
+mandoc: break.in:41:2: WARNING: blocks badly nested: Bl breaks Bd
+mandoc: break.in:42:2: ERROR: skipping item outside list: It
+mandoc: break.in:53:2: WARNING: blocks badly nested: Bl breaks Bd
+mandoc: break.in:56:2: WARNING: blocks badly nested: Bl breaks Bd
+mandoc: break.in:58:2: ERROR: inserting missing end of block: Sh breaks Bd
+mandoc: break.in:63:2: WARNING: blocks badly nested: Bl breaks Bd
+mandoc: break.in:64:2: ERROR: skipping column outside column list: Ta
+mandoc: break.in:71:2: WARNING: blocks badly nested: Bl breaks Bo
+mandoc: break.in:73:2: ERROR: inserting missing end of block: Sh breaks Bo
+mandoc: break.in:76:2: WARNING: blocks badly nested: Bl breaks Bo
+mandoc: break.in:75:25: ERROR: appending missing end of block: Bo
+mandoc: break.in:74:2: ERROR: appending missing end of block: Bl
+mandoc: break.in:75:2: WARNING: empty list item: Bl -enum It
+mandoc: break.in:75:2: ERROR: skipping all arguments: It before broken block
diff --git a/regress/mdoc/Bl/breakingIt.in b/regress/mdoc/Bl/breakingIt.in
new file mode 100644
index 00000000..025ea257
--- /dev/null
+++ b/regress/mdoc/Bl/breakingIt.in
@@ -0,0 +1,69 @@
+.Dd February 3, 2015
+.Dt BL-BREAKINGIT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-breakingIt
+.Nd items breaking other blocks
+.Sh DESCRIPTION
+.Ss Breaking partial explicit macros
+.Bl -tag -width Ds
+Stray text.
+.Ao
+More stray text.
+.It tag
+Tagged text.
+.El
+.Bl -bullet
+Stray text.
+.Ao
+More stray text.
+.It
+Bullet point.
+.El
+.Bl -tag -width Ds
+.It tag
+Tagged text.
+.Ao
+More tagged text.
+.It tag2
+Yet more tagged text.
+.El
+.Bl -bullet
+.It
+Item text.
+.Ao
+More item text.
+.It
+Bullet point.
+.El
+.Ss Breaking full explicit macros
+.Bl -tag -width Ds
+Stray text.
+.Bd -ragged -offset indent
+More stray text.
+.It tag
+Tagged text.
+.El
+.Bl -bullet
+Stray text.
+.Bd -ragged -offset indent
+More stray text.
+.It
+Bullet point.
+.El
+.Bl -tag -width Ds
+.It tag
+Tagged text.
+.Bd -ragged -offset indent
+Display text.
+.It tag2
+More tagged text.
+.El
+.Bl -bullet
+.It
+Item text.
+.Bd -ragged -offset indent
+Display text.
+.It
+Bullet point.
+.El
diff --git a/regress/mdoc/Bl/breakingIt.out_ascii b/regress/mdoc/Bl/breakingIt.out_ascii
new file mode 100644
index 00000000..afb57973
--- /dev/null
+++ b/regress/mdoc/Bl/breakingIt.out_ascii
@@ -0,0 +1,47 @@
+BL-BREAKINGIT(1) General Commands Manual BL-BREAKINGIT(1)
+
+NNAAMMEE
+ BBll--bbrreeaakkiinnggIItt - items breaking other blocks
+
+DDEESSCCRRIIPPTTIIOONN
+ BBrreeaakkiinngg ppaarrttiiaall eexxpplliicciitt mmaaccrrooss
+ Stray text. <More stray text.>
+
+ tag Tagged text.
+ Stray text. <More stray text.>
+
+ ++oo Bullet point.
+
+ tag Tagged text. <More tagged text.>
+
+ tag2 Yet more tagged text.
+
+ ++oo Item text. <More item text.>
+
+ ++oo Bullet point.
+
+ BBrreeaakkiinngg ffuullll eexxpplliicciitt mmaaccrrooss
+ Stray text.
+
+ More stray text.
+
+ tag Tagged text.
+ Stray text.
+
+ More stray text.
+
+ ++oo Bullet point.
+
+ tag Tagged text.
+
+ Display text.
+
+ tag2 More tagged text.
+
+ ++oo Item text.
+
+ Display text.
+
+ ++oo Bullet point.
+
+OpenBSD February 3, 2015 OpenBSD
diff --git a/regress/mdoc/Bl/breakingIt.out_lint b/regress/mdoc/Bl/breakingIt.out_lint
new file mode 100644
index 00000000..16a0db6e
--- /dev/null
+++ b/regress/mdoc/Bl/breakingIt.out_lint
@@ -0,0 +1,16 @@
+mandoc: breakingIt.in:13:2: ERROR: inserting missing end of block: It breaks Ao
+mandoc: breakingIt.in:20:2: ERROR: inserting missing end of block: It breaks Ao
+mandoc: breakingIt.in:28:2: ERROR: inserting missing end of block: It breaks Ao
+mandoc: breakingIt.in:36:2: ERROR: inserting missing end of block: It breaks Ao
+mandoc: breakingIt.in:44:2: ERROR: inserting missing end of block: It breaks Bd
+mandoc: breakingIt.in:51:2: ERROR: inserting missing end of block: It breaks Bd
+mandoc: breakingIt.in:59:2: ERROR: inserting missing end of block: It breaks Bd
+mandoc: breakingIt.in:67:2: ERROR: inserting missing end of block: It breaks Bd
+mandoc: breakingIt.in:10:1: WARNING: moving content out of list: text
+mandoc: breakingIt.in:11:2: WARNING: moving content out of list: Ao
+mandoc: breakingIt.in:17:1: WARNING: moving content out of list: text
+mandoc: breakingIt.in:18:2: WARNING: moving content out of list: Ao
+mandoc: breakingIt.in:41:1: WARNING: moving content out of list: text
+mandoc: breakingIt.in:42:2: WARNING: moving content out of list: Bd
+mandoc: breakingIt.in:48:1: WARNING: moving content out of list: text
+mandoc: breakingIt.in:49:2: WARNING: moving content out of list: Bd
diff --git a/regress/mdoc/Bl/broken.in b/regress/mdoc/Bl/broken.in
new file mode 100644
index 00000000..b2cd81e8
--- /dev/null
+++ b/regress/mdoc/Bl/broken.in
@@ -0,0 +1,28 @@
+.Dd February 12, 2015
+.Dt BL-BROKEN 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-broken
+.Nd list broken by another block
+.Sh DESCRIPTION
+before both
+.Bo before list
+.Bl -enum -offset indent
+.It
+inside both
+.Bc
+after bracket
+.El
+after list
+.Bo before list
+.Bl -enum -offset indent
+.It
+inside list
+.Bd -ragged -offset indent
+inside display
+.Bc
+after bracket
+.It
+next item
+.El
+after list
diff --git a/regress/mdoc/Bl/broken.out_ascii b/regress/mdoc/Bl/broken.out_ascii
new file mode 100644
index 00000000..5e6ae847
--- /dev/null
+++ b/regress/mdoc/Bl/broken.out_ascii
@@ -0,0 +1,19 @@
+BL-BROKEN(1) General Commands Manual BL-BROKEN(1)
+
+NNAAMMEE
+ BBll--bbrrookkeenn - list broken by another block
+
+DDEESSCCRRIIPPTTIIOONN
+ before both [before list
+
+ 1. inside both] after bracket
+ after list [before list
+
+ 1. inside list
+
+ inside display] after bracket
+
+ 2. next item
+ after list
+
+OpenBSD February 12, 2015 OpenBSD
diff --git a/regress/mdoc/Bl/broken.out_lint b/regress/mdoc/Bl/broken.out_lint
new file mode 100644
index 00000000..477b7fbc
--- /dev/null
+++ b/regress/mdoc/Bl/broken.out_lint
@@ -0,0 +1,3 @@
+mandoc: broken.in:13:2: WARNING: blocks badly nested: Bo breaks Bl
+mandoc: broken.in:23:2: WARNING: blocks badly nested: Bo breaks Bd
+mandoc: broken.in:25:2: ERROR: inserting missing end of block: It breaks Bd
diff --git a/regress/mdoc/Bl/bullet.in b/regress/mdoc/Bl/bullet.in
new file mode 100644
index 00000000..e189df27
--- /dev/null
+++ b/regress/mdoc/Bl/bullet.in
@@ -0,0 +1,81 @@
+.Dd December 25, 2014
+.Dt BL-BULLET 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-bullet
+.Nd bullet lists
+.Sh DESCRIPTION
+.Bl -bullet -width -4n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width -3n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width -2n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width -1n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width 0n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width 1n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width 2n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width 3n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width 4n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width 5n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width 6n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -width 7n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -bullet -compact
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
diff --git a/regress/mdoc/Bl/bullet.out_ascii b/regress/mdoc/Bl/bullet.out_ascii
new file mode 100644
index 00000000..e188f799
--- /dev/null
+++ b/regress/mdoc/Bl/bullet.out_ascii
@@ -0,0 +1,67 @@
+BL-BULLET(1) General Commands Manual BL-BULLET(1)
+
+NNAAMMEE
+ BBll--bbuulllleett - bullet lists
+
+DDEESSCCRRIIPPTTIIOONN
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ ++oo x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+OpenBSD December 25, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/colNoIt.in b/regress/mdoc/Bl/colNoIt.in
new file mode 100644
index 00000000..7c80cf93
--- /dev/null
+++ b/regress/mdoc/Bl/colNoIt.in
@@ -0,0 +1,15 @@
+.Dd August 20, 2016
+.Dt BL-COLNOIT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-colNoIt
+.Nd column lists without item macros
+.Sh DESCRIPTION
+.Bl -column "a" "b"
+.Sy a Ta b
+.Em c Ta d
+.El
+.Bl -column "a" "b"
+a b
+c d
+.El
diff --git a/regress/mdoc/Bl/colNoIt.out_ascii b/regress/mdoc/Bl/colNoIt.out_ascii
new file mode 100644
index 00000000..e61c3334
--- /dev/null
+++ b/regress/mdoc/Bl/colNoIt.out_ascii
@@ -0,0 +1,13 @@
+BL-COLNOIT(1) General Commands Manual BL-COLNOIT(1)
+
+NNAAMMEE
+ BBll--ccoollNNooIItt - column lists without item macros
+
+DDEESSCCRRIIPPTTIIOONN
+ aa b
+ _c d
+
+ a b
+ c d
+
+OpenBSD August 20, 2016 OpenBSD
diff --git a/regress/mdoc/Bl/column.in b/regress/mdoc/Bl/column.in
new file mode 100644
index 00000000..be6ccdca
--- /dev/null
+++ b/regress/mdoc/Bl/column.in
@@ -0,0 +1,105 @@
+.Dd October 14, 2015
+.Dt BL-COLUMN 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-column
+.Nd lists with multiple columns
+.Sh DESCRIPTION
+.Bl -column "a"
+.It a
+.El
+.Bl -column "a" "b"
+.It a Ta b
+.El
+.\" avoid "c" which means "cm"
+.Bl -column "a" "b" "cc"
+.It a Ta b Ta cc
+.It a b cc
+.It "a" b cc
+.It "a b" cc
+.It "a b cc"
+.El
+.Bl -column "a" "b" "cc" "d"
+.It a Ta b Ta cc Ta d
+.El
+.Bl -column "a" "b" "cc" "d" "e"
+.It a Ta b Ta cc Ta d Ta e
+.El
+.\" Probing up to the utter limits of groff.
+.\" With more than 5 columns or more than 78 characters per line,
+.\" groff .Bl -column turns completely mad.
+.\" mandoc can do more, but it's no use testing that.
+.Bd -literal
+5 + 35 + 4 + 34 = 78:
+.Ed
+.Bl -column "x35xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "x34xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+.It x35xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Ta x34xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+.It a Ta b
+.El
+.Bd -literal
+5 + (22+4)*2 + 21 = 78:
+.Ed
+.Bl -column "x22xxxxxxxxxxxxxxxxxxx" "x22xxxxxxxxxxxxxxxxxxx" "x21xxxxxxxxxxxxxxxxxx"
+.It x22xxxxxxxxxxxxxxxxxxx Ta x22xxxxxxxxxxxxxxxxxxx Ta x21xxxxxxxxxxxxxxxxxx
+.It a Ta b Ta c
+.El
+.Bd -literal
+5 + 16 + (4+15)*3 = 78:
+.Ed
+.Bl -column "x16xxxxxxxxxxxxx" "x15xxxxxxxxxxxx" "x15xxxxxxxxxxxx" "x15xxxxxxxxxxxx"
+.It x16xxxxxxxxxxxxx Ta x15xxxxxxxxxxxx Ta x15xxxxxxxxxxxx Ta x15xxxxxxxxxxxx
+.It a Ta b Ta c Ta d
+.El
+.Bd -literal
+5 + 13 + (3+12)*4 = 78:
+.Ed
+.Bl -column "x13xxxxxxxxxx" "x12xxxxxxxxx" "x12xxxxxxxxx" "x12xxxxxxxxx" "x12xxxxxxxxx"
+.It x13xxxxxxxxxx Ta x12xxxxxxxxx Ta x12xxxxxxxxx Ta x12xxxxxxxxx Ta x12xxxxxxxxx
+.It a Ta b Ta c Ta d Ta e
+.El
+.\" Trailing white space in phrases.
+.Bl -column "aaaa" "bbbb"
+.It "a" Ta "b"
+.It "a " Ta "b"
+.It "a " Ta "b"
+.It a b
+.It a b
+.It a b
+.El
+.\" Wrong number of columns.
+.Bl -column "a" "b"
+.It "a"
+.It "a" Ta "b"
+.It "a" Ta "b" Ta "c"
+.It "a" Ta "b" Ta "c" Ta "d"
+.It "a" Ta "b" Ta "c" Ta "d" Ta "e"
+.El
+.\" Mixed tab and Ta
+.Bl -column a b c d
+.It a b c d
+.It a b c Ta d
+.It a b Ta c d
+.It a b Ta c Ta d
+.It a Ta b c d
+.It a Ta b c Ta d
+.It a Ta b Ta c d
+.It a Ta b Ta c Ta d
+.El
+.\" Macros before and after tabs
+.Bl -column "aa" "OpenBSD OpenBSD OpenBSD"
+.It aa Ta Ox Ox Ox Ta tab-tab
+.It aa Ta Ox Ox Ox tab-ta
+.It aa Ox Ox Ox Ta ta-tab
+.It aa Ox Ox Ox ta-ta
+.It aa Ox Ox Ox ta-bl/ta
+.It aa Ox Ox Ox ta/bl-ta
+.It aa Ox Ox Ox ta/bl-bl/ta
+.It aa Ta bb Ta
+ta at eol
+.It aa bb
+tab at eol
+.El
+.\" Interrupted column list
+.Bl -column "aa" -width 6n -compact "bb" "cc"
+.It aa Ta bb Ta cc Ta dd
+.El
diff --git a/regress/mdoc/Bl/column.out_ascii b/regress/mdoc/Bl/column.out_ascii
new file mode 100644
index 00000000..a7c07d32
--- /dev/null
+++ b/regress/mdoc/Bl/column.out_ascii
@@ -0,0 +1,74 @@
+BL-COLUMN(1) General Commands Manual BL-COLUMN(1)
+
+NNAAMMEE
+ BBll--ccoolluummnn - lists with multiple columns
+
+DDEESSCCRRIIPPTTIIOONN
+ a
+
+ a b
+
+ a b cc
+ a b cc
+ a b cc
+ a b cc
+ a b cc
+
+ a b cc d
+
+ a b cc d e
+
+ 5 + 35 + 4 + 34 = 78:
+
+ x35xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x34xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ a b
+
+ 5 + (22+4)*2 + 21 = 78:
+
+ x22xxxxxxxxxxxxxxxxxxx x22xxxxxxxxxxxxxxxxxxx x21xxxxxxxxxxxxxxxxxx
+ a b c
+
+ 5 + 16 + (4+15)*3 = 78:
+
+ x16xxxxxxxxxxxxx x15xxxxxxxxxxxx x15xxxxxxxxxxxx x15xxxxxxxxxxxx
+ a b c d
+
+ 5 + 13 + (3+12)*4 = 78:
+
+ x13xxxxxxxxxx x12xxxxxxxxx x12xxxxxxxxx x12xxxxxxxxx x12xxxxxxxxx
+ a b c d e
+
+ a b
+ a b
+ a b
+ a b
+ a b
+ a b
+
+ a
+ a b
+ a b c
+ a b cd
+ a b cde
+
+ a b c d
+ a b c d
+ a b c d
+ a b c d
+ a b c d
+ a b c d
+ a b c d
+ a b c d
+
+ aa OpenBSD OpenBSD OpenBSD tab-tab
+ aa OpenBSD OpenBSD Ox tab-ta
+ aa Ox OpenBSD OpenBSD ta-tab
+ aa Ox OpenBSD Ox ta-ta
+ aa Ox OpenBSD OpenBSD ta-bl/ta
+ aa OpenBSD OpenBSD Ox ta/bl-ta
+ aa OpenBSD OpenBSD OpenBSD ta/bl-bl/ta
+ aa bb ta at eol
+ aa bb tab at eol
+ aa bb cc dd
+
+OpenBSD October 14, 2015 OpenBSD
diff --git a/regress/mdoc/Bl/column.out_lint b/regress/mdoc/Bl/column.out_lint
new file mode 100644
index 00000000..eed080bd
--- /dev/null
+++ b/regress/mdoc/Bl/column.out_lint
@@ -0,0 +1,4 @@
+mandoc: column.in:71:2: WARNING: wrong number of cells: 2 columns, 1 cells
+mandoc: column.in:74:2: WARNING: wrong number of cells: 2 columns, 4 cells
+mandoc: column.in:75:2: WARNING: wrong number of cells: 2 columns, 5 cells
+mandoc: column.in:103:18: WARNING: skipping -width argument: Bl -column
diff --git a/regress/mdoc/Bl/dash.in b/regress/mdoc/Bl/dash.in
new file mode 100644
index 00000000..37c8ad1a
--- /dev/null
+++ b/regress/mdoc/Bl/dash.in
@@ -0,0 +1,81 @@
+.Dd December 25, 2014
+.Dt BL-DASH 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-dash
+.Nd dash and hyphen lists
+.Sh DESCRIPTION
+.Bl -dash -width -4n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -width -3n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -width -2n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -width -1n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -width 0n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hyphen -width 1n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -width 2n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -width 3n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hyphen -width 4n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hyphen -width 5n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -width 6n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -width 7n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -dash -compact
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
diff --git a/regress/mdoc/Bl/dash.out_ascii b/regress/mdoc/Bl/dash.out_ascii
new file mode 100644
index 00000000..f6677bee
--- /dev/null
+++ b/regress/mdoc/Bl/dash.out_ascii
@@ -0,0 +1,67 @@
+BL-DASH(1) General Commands Manual BL-DASH(1)
+
+NNAAMMEE
+ BBll--ddaasshh - dash and hyphen lists
+
+DDEESSCCRRIIPPTTIIOONN
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+OpenBSD December 25, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/dash.out_utf8 b/regress/mdoc/Bl/dash.out_utf8
new file mode 100644
index 00000000..93abd8d3
--- /dev/null
+++ b/regress/mdoc/Bl/dash.out_utf8
@@ -0,0 +1,67 @@
+BL-DASH(1) General Commands Manual BL-DASH(1)
+
+NNAAMMEE
+ BBll--ddaasshh – dash and hyphen lists
+
+DDEESSCCRRIIPPTTIIOONN
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+ -- x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+OpenBSD December 25, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/diag.in b/regress/mdoc/Bl/diag.in
new file mode 100644
index 00000000..74421ab5
--- /dev/null
+++ b/regress/mdoc/Bl/diag.in
@@ -0,0 +1,54 @@
+.Dd April 8, 2014
+.Dt BL-DIAG 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-diag
+.Nd section 4 diagnostic lists
+.Sh DESCRIPTION
+.Bl -diag
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -diag
+.It four
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -diag
+.It quint
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -diag
+.It indent
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -diag
+.It septime
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -diag
+.It achtacht
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -diag
+.It neun_neun
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -diag
+.It zehn__zehn
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -diag
+.It This is a very long text contained in the diag item head, it is \
+so long that it overruns the line -
+and here comes the item body.
+.El
+.Pp
+Check that It is not parsed in Bl:
+.Bl -diag -compact
+.It Nx
+.No Nx
+.It Ox
+.No Ox
+.It Fx
+.No Fx
+.El
diff --git a/regress/mdoc/Bl/diag.out_ascii b/regress/mdoc/Bl/diag.out_ascii
new file mode 100644
index 00000000..9ee7a946
--- /dev/null
+++ b/regress/mdoc/Bl/diag.out_ascii
@@ -0,0 +1,39 @@
+BL-DIAG(1) General Commands Manual BL-DIAG(1)
+
+NNAAMMEE
+ BBll--ddiiaagg - section 4 diagnostic lists
+
+DDEESSCCRRIIPPTTIIOONN
+ ttaagg x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ ffoouurr x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ qquuiinntt x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ iinnddeenntt x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ sseeppttiimmee x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+
+ aacchhttaacchhtt x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+
+ nneeuunn__nneeuunn x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x
+
+ zzeehhnn____zzeehhnn x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x
+
+ TThhiiss iiss aa vveerryy lloonngg tteexxtt ccoonnttaaiinneedd iinn tthhee ddiiaagg iitteemm hheeaadd,, iitt iiss ssoo lloonngg
+ tthhaatt iitt oovveerrrruunnss tthhee lliinnee -- and here comes the item body.
+
+ Check that It is not parsed in Bl:
+ NNxx NetBSD
+ OOxx OpenBSD
+ FFxx FreeBSD
+
+OpenBSD April 8, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/empty.in b/regress/mdoc/Bl/empty.in
new file mode 100644
index 00000000..1ee9c94c
--- /dev/null
+++ b/regress/mdoc/Bl/empty.in
@@ -0,0 +1,41 @@
+.Dd January 2, 2011
+.Dt BL-EMPTY 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-empty
+.Nd empty lists
+.Sh DESCRIPTION
+bullet list:
+.Bl -bullet
+.El
+column list:
+.Bl -column one two
+.El
+dash list:
+.Bl -dash
+.El
+diag list:
+.Bl -diag
+.El
+enum list:
+.Bl -enum
+.El
+hang list:
+.Bl -hang
+.El
+hyphen list:
+.Bl -hyphen
+.El
+inset list:
+.Bl -inset
+.El
+item list:
+.Bl -item
+.El
+ohang list:
+.Bl -ohang
+.El
+tag list:
+.Bl -tag -width Ds
+.El
+end of test document
diff --git a/regress/mdoc/Bl/empty.out_ascii b/regress/mdoc/Bl/empty.out_ascii
new file mode 100644
index 00000000..aba64bbe
--- /dev/null
+++ b/regress/mdoc/Bl/empty.out_ascii
@@ -0,0 +1,20 @@
+BL-EMPTY(1) General Commands Manual BL-EMPTY(1)
+
+NNAAMMEE
+ BBll--eemmppttyy - empty lists
+
+DDEESSCCRRIIPPTTIIOONN
+ bullet list:
+ column list:
+ dash list:
+ diag list:
+ enum list:
+ hang list:
+ hyphen list:
+ inset list:
+ item list:
+ ohang list:
+ tag list:
+ end of test document
+
+OpenBSD January 2, 2011 OpenBSD
diff --git a/regress/mdoc/Bl/empty.out_lint b/regress/mdoc/Bl/empty.out_lint
new file mode 100644
index 00000000..3df60e6d
--- /dev/null
+++ b/regress/mdoc/Bl/empty.out_lint
@@ -0,0 +1,11 @@
+mandoc: empty.in:9:2: WARNING: empty block: Bl
+mandoc: empty.in:12:2: WARNING: empty block: Bl
+mandoc: empty.in:15:2: WARNING: empty block: Bl
+mandoc: empty.in:18:2: WARNING: empty block: Bl
+mandoc: empty.in:21:2: WARNING: empty block: Bl
+mandoc: empty.in:24:2: WARNING: empty block: Bl
+mandoc: empty.in:27:2: WARNING: empty block: Bl
+mandoc: empty.in:30:2: WARNING: empty block: Bl
+mandoc: empty.in:33:2: WARNING: empty block: Bl
+mandoc: empty.in:36:2: WARNING: empty block: Bl
+mandoc: empty.in:39:2: WARNING: empty block: Bl
diff --git a/regress/mdoc/Bl/emptyhead.in b/regress/mdoc/Bl/emptyhead.in
new file mode 100644
index 00000000..7219f969
--- /dev/null
+++ b/regress/mdoc/Bl/emptyhead.in
@@ -0,0 +1,43 @@
+.Dd July 3, 2014
+.Dt BL-EMPTYHEAD 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-emptyhead
+.Nd lists with empty item heads
+.Sh DESCRIPTION
+hang list:
+.Bl -hang -width 6n
+.It tag
+text
+.It
+no tag before this text
+.It tag
+text
+.El
+ohang list:
+.Bl -ohang
+.It tag
+text
+.It
+no tag before this text
+.It tag
+text
+.El
+inset list:
+.Bl -inset
+.It tag
+text
+.It
+no tag before this text
+.It tag
+text
+.El
+diag list:
+.Bl -diag
+.It tag
+text
+.It
+no tag before this text
+.It tag
+text
+.El
diff --git a/regress/mdoc/Bl/emptyhead.out_ascii b/regress/mdoc/Bl/emptyhead.out_ascii
new file mode 100644
index 00000000..3d0d0108
--- /dev/null
+++ b/regress/mdoc/Bl/emptyhead.out_ascii
@@ -0,0 +1,38 @@
+BL-EMPTYHEAD(1) General Commands Manual BL-EMPTYHEAD(1)
+
+NNAAMMEE
+ BBll--eemmppttyyhheeaadd - lists with empty item heads
+
+DDEESSCCRRIIPPTTIIOONN
+ hang list:
+
+ tag text
+
+ no tag before this text
+
+ tag text
+ ohang list:
+
+ tag
+ text
+
+ no tag before this text
+
+ tag
+ text
+ inset list:
+
+ tag text
+
+ no tag before this text
+
+ tag text
+ diag list:
+
+ ttaagg text
+
+ no tag before this text
+
+ ttaagg text
+
+OpenBSD July 3, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/emptyhead.out_lint b/regress/mdoc/Bl/emptyhead.out_lint
new file mode 100644
index 00000000..2d158b72
--- /dev/null
+++ b/regress/mdoc/Bl/emptyhead.out_lint
@@ -0,0 +1,4 @@
+mandoc: emptyhead.in:12:2: WARNING: empty head in list item: Bl -hang It
+mandoc: emptyhead.in:21:2: WARNING: empty head in list item: Bl -ohang It
+mandoc: emptyhead.in:30:2: WARNING: empty head in list item: Bl -inset It
+mandoc: emptyhead.in:39:2: WARNING: empty head in list item: Bl -diag It
diff --git a/regress/mdoc/Bl/emptyitem.in b/regress/mdoc/Bl/emptyitem.in
new file mode 100644
index 00000000..e4f85897
--- /dev/null
+++ b/regress/mdoc/Bl/emptyitem.in
@@ -0,0 +1,39 @@
+.Dd August 10, 2016
+.Dt BL-EMPTYITEM 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-emptyitem
+.Nd lists with fixed heads and empty items
+.Sh DESCRIPTION
+bullet list:
+.Bl -bullet
+.It head argument
+one
+.It
+.It
+three
+.El
+dash list:
+.Bl -dash
+.It
+one
+.It head argument
+.It
+three
+.El
+enum list:
+.Bl -enum
+.It
+one
+.It
+.It head argument
+three
+.El
+hyphen list:
+.Bl -hyphen
+.It Sy head argument
+one
+.It
+.It
+three
+.El
diff --git a/regress/mdoc/Bl/emptyitem.out_ascii b/regress/mdoc/Bl/emptyitem.out_ascii
new file mode 100644
index 00000000..5148c3ce
--- /dev/null
+++ b/regress/mdoc/Bl/emptyitem.out_ascii
@@ -0,0 +1,36 @@
+BL-EMPTYITEM(1) General Commands Manual BL-EMPTYITEM(1)
+
+NNAAMMEE
+ BBll--eemmppttyyiitteemm - lists with fixed heads and empty items
+
+DDEESSCCRRIIPPTTIIOONN
+ bullet list:
+
+ ++oo one
+
+ ++oo
+
+ ++oo three
+ dash list:
+
+ -- one
+
+ --
+
+ -- three
+ enum list:
+
+ 1. one
+
+ 2.
+
+ 3. three
+ hyphen list:
+
+ -- one
+
+ --
+
+ -- three
+
+OpenBSD August 10, 2016 OpenBSD
diff --git a/regress/mdoc/Bl/emptyitem.out_lint b/regress/mdoc/Bl/emptyitem.out_lint
new file mode 100644
index 00000000..1dd9dfea
--- /dev/null
+++ b/regress/mdoc/Bl/emptyitem.out_lint
@@ -0,0 +1,8 @@
+mandoc: emptyitem.in:10:2: ERROR: skipping all arguments: It head argument
+mandoc: emptyitem.in:12:2: WARNING: empty list item: Bl -bullet It
+mandoc: emptyitem.in:20:2: WARNING: empty list item: Bl -dash It
+mandoc: emptyitem.in:20:2: ERROR: skipping all arguments: It head argument
+mandoc: emptyitem.in:28:2: WARNING: empty list item: Bl -enum It
+mandoc: emptyitem.in:29:2: ERROR: skipping all arguments: It head argument
+mandoc: emptyitem.in:34:2: ERROR: skipping all arguments: It Sy
+mandoc: emptyitem.in:36:2: WARNING: empty list item: Bl -hyphen It
diff --git a/regress/mdoc/Bl/emptytag.in b/regress/mdoc/Bl/emptytag.in
new file mode 100644
index 00000000..f155b5c0
--- /dev/null
+++ b/regress/mdoc/Bl/emptytag.in
@@ -0,0 +1,17 @@
+.Dd July 3, 2014
+.Dt BL-EMPTYTAG 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-emptytag
+.Nd tag lists with empty item heads
+.Sh DESCRIPTION
+initial text
+.Bl -tag -width 6n
+.It tag
+text
+.It
+no tag before this text
+.It tag
+text
+.El
+final text
diff --git a/regress/mdoc/Bl/emptytag.out_ascii b/regress/mdoc/Bl/emptytag.out_ascii
new file mode 100644
index 00000000..533480b1
--- /dev/null
+++ b/regress/mdoc/Bl/emptytag.out_ascii
@@ -0,0 +1,16 @@
+BL-EMPTYTAG(1) General Commands Manual BL-EMPTYTAG(1)
+
+NNAAMMEE
+ BBll--eemmppttyyttaagg - tag lists with empty item heads
+
+DDEESSCCRRIIPPTTIIOONN
+ initial text
+
+ tag text
+
+ no tag before this text
+
+ tag text
+ final text
+
+OpenBSD July 3, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/emptytag.out_lint b/regress/mdoc/Bl/emptytag.out_lint
new file mode 100644
index 00000000..72d9d287
--- /dev/null
+++ b/regress/mdoc/Bl/emptytag.out_lint
@@ -0,0 +1 @@
+mandoc: emptytag.in:12:2: WARNING: empty head in list item: Bl -tag It
diff --git a/regress/mdoc/Bl/enum.in b/regress/mdoc/Bl/enum.in
new file mode 100644
index 00000000..e5b1c618
--- /dev/null
+++ b/regress/mdoc/Bl/enum.in
@@ -0,0 +1,81 @@
+.Dd December 25, 2014
+.Dt BL-ENUM 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-enum
+.Nd enumerated lists
+.Sh DESCRIPTION
+.Bl -enum -width -4n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width -3n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width -2n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width -1n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width 0n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width 1n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width 2n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width 3n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width 4n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width 5n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width 6n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -width 7n
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -enum -compact
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.It
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
diff --git a/regress/mdoc/Bl/enum.out_ascii b/regress/mdoc/Bl/enum.out_ascii
new file mode 100644
index 00000000..769dc218
--- /dev/null
+++ b/regress/mdoc/Bl/enum.out_ascii
@@ -0,0 +1,67 @@
+BL-ENUM(1) General Commands Manual BL-ENUM(1)
+
+NNAAMMEE
+ BBll--eennuumm - enumerated lists
+
+DDEESSCCRRIIPPTTIIOONN
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+ 1. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 2. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 3. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 4. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 5. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 6. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 7. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 8. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 9. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 10. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 11. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+ 12. x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+OpenBSD December 25, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/extend.in b/regress/mdoc/Bl/extend.in
new file mode 100644
index 00000000..0b4dce11
--- /dev/null
+++ b/regress/mdoc/Bl/extend.in
@@ -0,0 +1,31 @@
+.Dd April 12, 2010
+.Dt BL-EXTEND 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-extend
+.Nd extending block headers
+.Sh DESCRIPTION
+.\" explicit quoting does not require macro lines per se
+.Ao
+plain quoted text
+.Ac
+.Bl -tag -width Ds
+.It normal tag
+normal text
+.\" when extending It headers, plain text lines fall back
+.\" into the previous It body; so macro lines are required
+.It Ao
+.No extended tag
+.Ac
+extended text
+.It prefix Ao
+.No prefixed tag
+.Ac
+prefixed text
+.\" postfix after closing macro does not work in old groff
+.\" the whole It header gets lost
+.\" .It prefix Ao
+.\" .No braced tag
+.\" .Ac postfix
+.\" braced text
+.El
diff --git a/regress/mdoc/Bl/extend.out_ascii b/regress/mdoc/Bl/extend.out_ascii
new file mode 100644
index 00000000..6676ea48
--- /dev/null
+++ b/regress/mdoc/Bl/extend.out_ascii
@@ -0,0 +1,18 @@
+BL-EXTEND(1) General Commands Manual BL-EXTEND(1)
+
+NNAAMMEE
+ BBll--eexxtteenndd - extending block headers
+
+DDEESSCCRRIIPPTTIIOONN
+ <plain quoted text>
+
+ normal tag
+ normal text
+
+ <extended tag>
+ extended text
+
+ prefix <prefixed tag>
+ prefixed text
+
+OpenBSD April 12, 2010 OpenBSD
diff --git a/regress/mdoc/Bl/hang.in b/regress/mdoc/Bl/hang.in
new file mode 100644
index 00000000..2b2b7554
--- /dev/null
+++ b/regress/mdoc/Bl/hang.in
@@ -0,0 +1,111 @@
+.Dd December 25, 2014
+.Dt BL-HANG 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-hang
+.Nd hanged lists
+.Sh DESCRIPTION
+.Bl -hang -width -4n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width -3n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width -2n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width -1n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 0n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 1n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 2n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 3n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 4n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It four
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It quint
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It indent
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It septime
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It achtacht
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It neun_neun
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It zehn__zehn
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -hang -width 5n
+.It This is a very long text contained in the hanged item head, it is \
+so long that it overruns the line -
+and here comes the item body.
+.El
+Compact hanged list:
+.Bl -hang -width 6n -compact
+.It one
+first line
+.It second
+second line
+.It third_tag
+last line
+.El
+Hanged list without a width:
+.Bl -hang
+.It tag
+text
+.El
diff --git a/regress/mdoc/Bl/hang.out_ascii b/regress/mdoc/Bl/hang.out_ascii
new file mode 100644
index 00000000..04cce936
--- /dev/null
+++ b/regress/mdoc/Bl/hang.out_ascii
@@ -0,0 +1,85 @@
+BL-HANG(1) General Commands Manual BL-HANG(1)
+
+NNAAMMEE
+ BBll--hhaanngg - hanged lists
+
+DDEESSCCRRIIPPTTIIOONN
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x
+
+ four x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x
+
+ quint x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x
+
+ indent x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x
+
+ septime x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x
+
+ achtacht x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x
+
+ neun_neun x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x
+
+ zehn__zehn x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x x x x x x x x
+
+ This is a very long text contained in the hanged item head, it is so long
+ that it overruns the line - and here comes the item body.
+ Compact hanged list:
+ one first line
+ second second line
+ third_tag last line
+ Hanged list without a width:
+
+ tag text
+
+OpenBSD December 25, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/inset.in b/regress/mdoc/Bl/inset.in
new file mode 100644
index 00000000..0376ae63
--- /dev/null
+++ b/regress/mdoc/Bl/inset.in
@@ -0,0 +1,48 @@
+.Dd October 28, 2009
+.Dt BL-INSET 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-inset
+.Nd inset list labels
+.Sh DESCRIPTION
+.Bl -inset
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -inset
+.It four
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -inset
+.It quint
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -inset
+.It indent
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -inset
+.It septime
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -inset
+.It achtacht
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -inset
+.It neun_neun
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -inset
+.It zehn__zehn
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.\" Trailing white space in the head.
+.Bl -inset
+.It "a"
+b
+.It "a "
+b
+.It "a "
+b
+.El
diff --git a/regress/mdoc/Bl/inset.out_ascii b/regress/mdoc/Bl/inset.out_ascii
new file mode 100644
index 00000000..4927df78
--- /dev/null
+++ b/regress/mdoc/Bl/inset.out_ascii
@@ -0,0 +1,37 @@
+BL-INSET(1) General Commands Manual BL-INSET(1)
+
+NNAAMMEE
+ BBll--iinnsseett - inset list labels
+
+DDEESSCCRRIIPPTTIIOONN
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ four x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ quint x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ indent x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ septime x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ achtacht x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+
+ neun_neun x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x
+
+ zehn__zehn x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x x x
+
+ a b
+
+ a b
+
+ a b
+
+OpenBSD October 28, 2009 OpenBSD
diff --git a/regress/mdoc/Bl/item.in b/regress/mdoc/Bl/item.in
new file mode 100644
index 00000000..672e9dc7
--- /dev/null
+++ b/regress/mdoc/Bl/item.in
@@ -0,0 +1,23 @@
+.Dd July 10, 2012
+.Dt BL-ITEM 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-item
+.Nd itemized lists
+.Sh DESCRIPTION
+.Bl -item
+.It
+first line
+.It ignore
+second line
+.It
+third line
+.El
+.Bl -item -compact
+.It
+first line
+.It ignore
+second line
+.It
+third line
+.El
diff --git a/regress/mdoc/Bl/item.out_ascii b/regress/mdoc/Bl/item.out_ascii
new file mode 100644
index 00000000..ae3f4524
--- /dev/null
+++ b/regress/mdoc/Bl/item.out_ascii
@@ -0,0 +1,16 @@
+BL-ITEM(1) General Commands Manual BL-ITEM(1)
+
+NNAAMMEE
+ BBll--iitteemm - itemized lists
+
+DDEESSCCRRIIPPTTIIOONN
+ first line
+
+ second line
+
+ third line
+ first line
+ second line
+ third line
+
+OpenBSD July 10, 2012 OpenBSD
diff --git a/regress/mdoc/Bl/multitag.in b/regress/mdoc/Bl/multitag.in
new file mode 100644
index 00000000..e316c2d4
--- /dev/null
+++ b/regress/mdoc/Bl/multitag.in
@@ -0,0 +1,47 @@
+.Dd April 13, 2010
+.Dt BL-MULTITAG 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-multitag
+.Nd lists with multiple successive tags
+.Sh DESCRIPTION
+inset:
+.Bl -inset
+.It first
+.It second
+.It third
+some text
+.It fourth
+.It fifth
+more text
+.El
+tag:
+.Bl -tag -width Ds
+.It first
+.It second
+.It third
+some text
+.It fourth
+.It fifth
+more text
+.El
+inset compact:
+.Bl -inset -compact
+.It first
+.It second
+.It third
+some text
+.It fourth
+.It fifth
+more text
+.El
+tag compact:
+.Bl -tag -width Ds -compact
+.It first
+.It second
+.It third
+some text
+.It fourth
+.It fifth
+more text
+.El
diff --git a/regress/mdoc/Bl/multitag.out_ascii b/regress/mdoc/Bl/multitag.out_ascii
new file mode 100644
index 00000000..3167b587
--- /dev/null
+++ b/regress/mdoc/Bl/multitag.out_ascii
@@ -0,0 +1,42 @@
+BL-MULTITAG(1) General Commands Manual BL-MULTITAG(1)
+
+NNAAMMEE
+ BBll--mmuullttiittaagg - lists with multiple successive tags
+
+DDEESSCCRRIIPPTTIIOONN
+ inset:
+
+ first
+
+ second
+
+ third some text
+
+ fourth
+
+ fifth more text
+ tag:
+
+ first
+
+ second
+
+ third some text
+
+ fourth
+
+ fifth more text
+ inset compact:
+ first
+ second
+ third some text
+ fourth
+ fifth more text
+ tag compact:
+ first
+ second
+ third some text
+ fourth
+ fifth more text
+
+OpenBSD April 13, 2010 OpenBSD
diff --git a/regress/mdoc/Bl/multitype.in b/regress/mdoc/Bl/multitype.in
new file mode 100644
index 00000000..48e8dc11
--- /dev/null
+++ b/regress/mdoc/Bl/multitype.in
@@ -0,0 +1,11 @@
+.Dd October 28, 2009
+.Dt BL-MULTITYPE 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-multitype
+.Nd list with multiple types
+.Sh DESCRIPTION
+.Bl -dash -bullet -offset indent
+.It
+Some text.
+.El
diff --git a/regress/mdoc/Bl/multitype.out_ascii b/regress/mdoc/Bl/multitype.out_ascii
new file mode 100644
index 00000000..f22c89cf
--- /dev/null
+++ b/regress/mdoc/Bl/multitype.out_ascii
@@ -0,0 +1,9 @@
+BL-MULTITYPE(1) General Commands Manual BL-MULTITYPE(1)
+
+NNAAMMEE
+ BBll--mmuullttiittyyppee - list with multiple types
+
+DDEESSCCRRIIPPTTIIOONN
+ -- Some text.
+
+OpenBSD October 28, 2009 OpenBSD
diff --git a/regress/mdoc/Bl/nested.in b/regress/mdoc/Bl/nested.in
new file mode 100644
index 00000000..380e2e62
--- /dev/null
+++ b/regress/mdoc/Bl/nested.in
@@ -0,0 +1,83 @@
+.Dd May 19, 2013
+.Dt BL-NESTED 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-nested
+.Nd nested lists
+.Sh DESCRIPTION
+inset:
+.Bl -inset
+.It outer
+list
+.Bl -inset
+.It inner
+list
+.El
+.El
+inset compact:
+.Bl -inset -compact
+.It outer
+list
+.Bl -inset -compact
+.It inner
+list
+.El
+.El
+dash:
+.Bl -dash
+.It
+outer list
+.Bl -dash
+.It
+inner list
+.El
+.El
+dash compact:
+.Bl -dash -compact
+.It
+outer list
+.Bl -dash -compact
+.It
+inner list
+.El
+.El
+tag:
+.Bl -tag -width 4n
+.It outer tag
+outer text
+.Bl -tag -width 4n
+.It inner tag
+inner text
+.El
+outer text
+.El
+.Bl -tag -width 4n
+.It outer tag
+.Bd -ragged -compact
+outer text (display)
+.Ed
+.Bl -tag -width 4n
+.It inner tag
+inner text
+.El
+outer text
+.El
+.Bl -tag -width 4n
+.It outer tag
+.Dl outer text (one-line display)
+.Bl -tag -width 4n
+.It inner tag
+inner text
+.El
+outer text
+.El
+.Bl -tag -width 4n -offset 3n
+.It outer tag (indented 3n)
+outer text
+.Bl -tag -width 4n -offset 6n
+.It inner tag (indented 6n)
+inner text
+.El
+outer text
+.El
+final text
diff --git a/regress/mdoc/Bl/nested.out_ascii b/regress/mdoc/Bl/nested.out_ascii
new file mode 100644
index 00000000..50998896
--- /dev/null
+++ b/regress/mdoc/Bl/nested.out_ascii
@@ -0,0 +1,54 @@
+BL-NESTED(1) General Commands Manual BL-NESTED(1)
+
+NNAAMMEE
+ BBll--nneesstteedd - nested lists
+
+DDEESSCCRRIIPPTTIIOONN
+ inset:
+
+ outer list
+
+ inner list
+ inset compact:
+ outer list
+ inner list
+ dash:
+
+ -- outer list
+
+ -- inner list
+ dash compact:
+ -- outer list
+ -- inner list
+ tag:
+
+ outer tag
+ outer text
+
+ inner tag
+ inner text
+ outer text
+
+ outer tag
+ outer text (display)
+
+ inner tag
+ inner text
+ outer text
+
+ outer tag
+ outer text (one-line display)
+
+ inner tag
+ inner text
+ outer text
+
+ outer tag (indented 3n)
+ outer text
+
+ inner tag (indented 6n)
+ inner text
+ outer text
+ final text
+
+OpenBSD May 19, 2013 OpenBSD
diff --git a/regress/mdoc/Bl/noIt.in b/regress/mdoc/Bl/noIt.in
new file mode 100644
index 00000000..46d8c0d2
--- /dev/null
+++ b/regress/mdoc/Bl/noIt.in
@@ -0,0 +1,24 @@
+.Dd October 6, 2013
+.Dt BL-NOIT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-noIt
+.Nd list missing item macros
+.Sh DESCRIPTION
+.Bl -tag -width Ds
+Stray text.
+.Em More stray text.
+.It tag
+Tagged text.
+.El
+.Bl -bullet
+Stray text.
+.Sm off
+.Em More Sy stray Em text.
+.Sm on
+.It
+Bullet point.
+.El
+.Bl -dash
+Stray text only.
+.El
diff --git a/regress/mdoc/Bl/noIt.out_ascii b/regress/mdoc/Bl/noIt.out_ascii
new file mode 100644
index 00000000..9f603f1c
--- /dev/null
+++ b/regress/mdoc/Bl/noIt.out_ascii
@@ -0,0 +1,15 @@
+BL-NOIT(1) General Commands Manual BL-NOIT(1)
+
+NNAAMMEE
+ BBll--nnooIItt - list missing item macros
+
+DDEESSCCRRIIPPTTIIOONN
+ Stray text. _M_o_r_e _s_t_r_a_y _t_e_x_t_.
+
+ tag Tagged text.
+ Stray text. _M_o_r_essttrraayy_t_e_x_t_.
+
+ ++oo Bullet point.
+ Stray text only.
+
+OpenBSD October 6, 2013 OpenBSD
diff --git a/regress/mdoc/Bl/noIt.out_lint b/regress/mdoc/Bl/noIt.out_lint
new file mode 100644
index 00000000..efe0eeea
--- /dev/null
+++ b/regress/mdoc/Bl/noIt.out_lint
@@ -0,0 +1,8 @@
+mandoc: noIt.in:9:1: WARNING: moving content out of list: text
+mandoc: noIt.in:10:2: WARNING: moving content out of list: Em
+mandoc: noIt.in:15:1: WARNING: moving content out of list: text
+mandoc: noIt.in:16:2: WARNING: moving content out of list: Sm
+mandoc: noIt.in:17:2: WARNING: moving content out of list: Em
+mandoc: noIt.in:17:10: WARNING: moving content out of list: Sy
+mandoc: noIt.in:17:19: WARNING: moving content out of list: Em
+mandoc: noIt.in:23:1: WARNING: moving content out of list: text
diff --git a/regress/mdoc/Bl/notype.in b/regress/mdoc/Bl/notype.in
new file mode 100644
index 00000000..f91583d0
--- /dev/null
+++ b/regress/mdoc/Bl/notype.in
@@ -0,0 +1,26 @@
+.Dd August 10, 2016
+.Dt BL-NOTYPE 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-notype
+.Nd lists with late or missing types
+.Sh DESCRIPTION
+late type:
+.Bl -offset indent -bullet
+.It
+Some text.
+.El tail argument
+.Pp
+no type:
+.Bl -offset indent -width Ds
+.It
+Some text.
+.El
+.Pp
+no argument at all:
+.Bl
+.It
+Some text.
+.El
+.Pp
+final text
diff --git a/regress/mdoc/Bl/notype.out_ascii b/regress/mdoc/Bl/notype.out_ascii
new file mode 100644
index 00000000..0f6b2237
--- /dev/null
+++ b/regress/mdoc/Bl/notype.out_ascii
@@ -0,0 +1,21 @@
+BL-NOTYPE(1) General Commands Manual BL-NOTYPE(1)
+
+NNAAMMEE
+ BBll--nnoottyyppee - lists with late or missing types
+
+DDEESSCCRRIIPPTTIIOONN
+ late type:
+
+ ++oo Some text.
+
+ no type:
+
+ Some text.
+
+ no argument at all:
+
+ Some text.
+
+ final text
+
+OpenBSD August 10, 2016 OpenBSD
diff --git a/regress/mdoc/Bl/notype.out_lint b/regress/mdoc/Bl/notype.out_lint
new file mode 100644
index 00000000..cf6fb63a
--- /dev/null
+++ b/regress/mdoc/Bl/notype.out_lint
@@ -0,0 +1,5 @@
+mandoc: notype.in:12:2: ERROR: skipping all arguments: El tail argument
+mandoc: notype.in:9:2: WARNING: list type is not the first argument: Bl -offset
+mandoc: notype.in:15:2: ERROR: missing list type, using -item: Bl
+mandoc: notype.in:15:20: WARNING: skipping -width argument: Bl -item
+mandoc: notype.in:21:2: ERROR: missing list type, using -item: Bl
diff --git a/regress/mdoc/Bl/offset.in b/regress/mdoc/Bl/offset.in
new file mode 100644
index 00000000..9564b105
--- /dev/null
+++ b/regress/mdoc/Bl/offset.in
@@ -0,0 +1,79 @@
+.Dd December 25, 2014
+.Dt BL-OFFSET 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-offset
+.Nd various arguments for Bl offset
+.Sh DESCRIPTION
+.Bl -item -offset
+.It
+Bl item offset empty
+.El
+.Bl -item -offset left
+.It
+Bl item offset left
+.El
+.Bl -item -offset indent
+.It
+Bl item offset indent
+.El
+.Bl -item -offset indent-two
+.It
+Bl item offset indent-two
+.El
+.Bl -item -offset 4n
+.It
+Bl item offset 4n
+.El
+.Bl -item -offset mystring
+.It
+Bl item offset mystring
+.El
+.Bl -item -offset Ds
+.It
+Bl item offset Ds
+.El
+.Bl -item -offset 78n
+.It
+Bl item offset 78n
+.El
+.Bl -item -offset -3n
+.It
+Bl item offset -3n
+.El
+.Bl -tag -width Ds -offset
+.It tag
+Bl tag width Ds offset empty
+.El
+.Bl -tag -width Ds -offset left
+.It tag
+Bl tag width Ds offset left
+.El
+.Bl -tag -width Ds -offset indent
+.It tag
+Bl tag width Ds offset indent
+.El
+.Bl -tag -width Ds -offset indent-two
+.It tag
+Bl tag width Ds offset indent-two
+.El
+.Bl -tag -width Ds -offset 4n
+.It tag
+Bl tag width Ds offset 4n
+.El
+.Bl -tag -width Ds -offset mystring
+.It tag
+Bl tag width Ds offset mystring
+.El
+.Bl -tag -width Ds -offset Ds
+.It tag
+Bl tag width Ds offset Ds
+.El
+.Bl -tag -width Ds -offset 78n
+.It tag
+Bl tag width Ds offset 78n
+.El
+.Bl -tag -width Ds -offset -3n
+.It tag
+Bl tag width Ds offset -3n
+.El
diff --git a/regress/mdoc/Bl/offset.out_ascii b/regress/mdoc/Bl/offset.out_ascii
new file mode 100644
index 00000000..8c871d44
--- /dev/null
+++ b/regress/mdoc/Bl/offset.out_ascii
@@ -0,0 +1,51 @@
+BL-OFFSET(1) General Commands Manual BL-OFFSET(1)
+
+NNAAMMEE
+ BBll--ooffffsseett - various arguments for Bl offset
+
+DDEESSCCRRIIPPTTIIOONN
+ Bl item offset empty
+
+ Bl item offset left
+
+ Bl item offset indent
+
+ Bl item offset indent-two
+
+ Bl item offset 4n
+
+ Bl item offset mystring
+
+ Bl item offset Ds
+
+ Bl
+ item
+ offset
+ 78n
+
+ Bl item offset -3n
+
+ tag Bl tag width Ds offset empty
+
+ tag Bl tag width Ds offset left
+
+ tag Bl tag width Ds offset indent
+
+ tag Bl tag width Ds offset indent-two
+
+ tag Bl tag width Ds offset 4n
+
+ tag Bl tag width Ds offset mystring
+
+ tag Bl tag width Ds offset Ds
+
+ tag Bl
+ tag
+ width
+ Ds
+ offset
+ 78n
+
+ tag Bl tag width Ds offset -3n
+
+OpenBSD December 25, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/ohang.in b/regress/mdoc/Bl/ohang.in
new file mode 100644
index 00000000..af4bdf6d
--- /dev/null
+++ b/regress/mdoc/Bl/ohang.in
@@ -0,0 +1,23 @@
+.Dd July 10, 2012
+.Dt BL-OHANG 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-ohang
+.Nd over-hanging lists
+.Sh DESCRIPTION
+.Bl -ohang
+.It first tag
+first line
+.It second tag
+second line
+.It third tag
+third line
+.El
+.Bl -ohang -compact
+.It first tag
+first line
+.It second tag
+second line
+.It third tag
+third line
+.El
diff --git a/regress/mdoc/Bl/ohang.out_ascii b/regress/mdoc/Bl/ohang.out_ascii
new file mode 100644
index 00000000..238958dd
--- /dev/null
+++ b/regress/mdoc/Bl/ohang.out_ascii
@@ -0,0 +1,22 @@
+BL-OHANG(1) General Commands Manual BL-OHANG(1)
+
+NNAAMMEE
+ BBll--oohhaanngg - over-hanging lists
+
+DDEESSCCRRIIPPTTIIOONN
+ first tag
+ first line
+
+ second tag
+ second line
+
+ third tag
+ third line
+ first tag
+ first line
+ second tag
+ second line
+ third tag
+ third line
+
+OpenBSD July 10, 2012 OpenBSD
diff --git a/regress/mdoc/Bl/secstart.in b/regress/mdoc/Bl/secstart.in
new file mode 100644
index 00000000..bd01e036
--- /dev/null
+++ b/regress/mdoc/Bl/secstart.in
@@ -0,0 +1,39 @@
+.Dd November 10, 2014
+.Dt BL-SECSTART 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-secstart
+.Nd nested lists at the beginning of sections
+.Sh DESCRIPTION
+.Ss item
+.Bl -item
+.It
+.Bl -item
+.It
+text
+.El
+.El
+.Ss dash
+.Bl -dash
+.It
+.Bl -dash
+.It
+text
+.El
+.El
+.Ss inset
+.Bl -inset
+.It outer
+.Bl -inset
+.It inner
+text
+.El
+.El
+.Ss tag
+.Bl -tag -width 4n
+.It outer tag
+.Bl -tag -width 4n
+.It inner tag
+text
+.El
+.El
diff --git a/regress/mdoc/Bl/secstart.out_ascii b/regress/mdoc/Bl/secstart.out_ascii
new file mode 100644
index 00000000..269c92ec
--- /dev/null
+++ b/regress/mdoc/Bl/secstart.out_ascii
@@ -0,0 +1,26 @@
+BL-SECSTART(1) General Commands Manual BL-SECSTART(1)
+
+NNAAMMEE
+ BBll--sseeccssttaarrtt - nested lists at the beginning of sections
+
+DDEESSCCRRIIPPTTIIOONN
+ iitteemm
+ text
+
+ ddaasshh
+ --
+
+ -- text
+
+ iinnsseett
+ outer
+
+ inner text
+
+ ttaagg
+ outer tag
+
+ inner tag
+ text
+
+OpenBSD November 10, 2014 OpenBSD
diff --git a/regress/mdoc/Bl/tag.in b/regress/mdoc/Bl/tag.in
new file mode 100644
index 00000000..49cc903e
--- /dev/null
+++ b/regress/mdoc/Bl/tag.in
@@ -0,0 +1,154 @@
+.Dd September 21, 2015
+.Dt BL-TAG 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-tag
+.Nd tagged lists
+.Sh DESCRIPTION
+.Bl -tag -width -4n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width -3n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width -2n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width -1n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 0n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 1n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 2n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 3n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 4n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It tag
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It four
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It quint
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It indent
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It septime
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It achtacht
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It neun neun
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It zehn_ zehn
+x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+.El
+.Bl -tag -width 5n
+.It This is a very long text contained in the tag, it is so long \
+that it overruns the line -
+and here comes the item body.
+.El
+.Bl -tag -width 100n
+.It hundred
+text text
+.El
+.Pp
+Trailing white space in the head:
+.Bl -tag -width 5n
+.It "a"
+none
+.It "a "
+one
+.It "a "
+two
+.It "a "
+three
+.It "a "
+four
+.It "a "
+five
+.It "a "
+six
+.It " "
+white space only
+.El
+.Pp
+Non-numeric width specification:
+.Bl -tag -width xxx
+.It tag
+text
+.El
+.Bl -tag -width xxxxxxxxxx
+.It tag
+text
+.El
+.Pp
+Scaling units other than n:
+.Bl -tag -width 4m
+.It tag
+text
+.El
+.Bl -tag -width 800M
+.It tag
+text
+.El
+.Bl -tag -width 14
+.It tag
+text
+.El
+.Pp
+Default width:
+.Bl -tag
+.It tag
+text
+.It long tag
+long text
+.It Sy tag Em with markup
+text
+.El
+.Pp
+Indented list:
+.Bl -tag -offset 6n -width xxx
+.It one
+first text
+.It two
+second text
+.El
+.Pp
+Embedded paragraph:
+.Bl -tag -width Ds
+.It tag
+first paragraph
+.Pp
+second paragraph
+.El
diff --git a/regress/mdoc/Bl/tag.out_ascii b/regress/mdoc/Bl/tag.out_ascii
new file mode 100644
index 00000000..0912d4fa
--- /dev/null
+++ b/regress/mdoc/Bl/tag.out_ascii
@@ -0,0 +1,134 @@
+BL-TAG(1) General Commands Manual BL-TAG(1)
+
+NNAAMMEE
+ BBll--ttaagg - tagged lists
+
+DDEESSCCRRIIPPTTIIOONN
+ tag
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x
+
+ tag
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x
+
+ tag
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x
+
+ tag
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ tag
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x
+
+ tag
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ tag
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x
+
+ tag x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ four x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ quint x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ indent
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ septime
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ achtacht
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ neun neun
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ zehn_ zehn
+ x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
+ x x x x x x x
+
+ This is a very long text contained in the tag, it is so long that it
+ overruns the line -
+ and here comes the item body.
+
+ hundred text
+ text
+
+ Trailing white space in the head:
+
+ a none
+
+ a one
+
+ a two
+
+ a three
+
+ a four
+
+ a
+ five
+
+ a
+ six
+
+ white space only
+
+ Non-numeric width specification:
+
+ tag text
+
+ tag text
+
+ Scaling units other than n:
+
+ tag text
+
+ tag text
+
+ tag
+ text
+
+ Default width:
+
+ tag text
+
+ long tag
+ long text
+
+ ttaagg _w_i_t_h _m_a_r_k_u_p
+ text
+
+ Indented list:
+
+ one first text
+
+ two second text
+
+ Embedded paragraph:
+
+ tag first paragraph
+
+ second paragraph
+
+OpenBSD September 21, 2015 OpenBSD
diff --git a/regress/mdoc/Bl/tag.out_lint b/regress/mdoc/Bl/tag.out_lint
new file mode 100644
index 00000000..01a4a492
--- /dev/null
+++ b/regress/mdoc/Bl/tag.out_lint
@@ -0,0 +1 @@
+mandoc: tag.in:131:2: WARNING: missing -width in -tag list, using 6n: Bl -tag
diff --git a/regress/mdoc/Bl/unclosed.in b/regress/mdoc/Bl/unclosed.in
new file mode 100644
index 00000000..2d35a480
--- /dev/null
+++ b/regress/mdoc/Bl/unclosed.in
@@ -0,0 +1,12 @@
+.Dd January 9, 2011
+.Dt BL-UNCLOSED 1
+.Os OpenBSD
+.Sh NAME
+.Nm Bl-unclosed
+.Nd list lacking an end macro
+.Sh DESCRIPTION
+.Bl -item
+.It
+item
+.Sh SEE ALSO
+.Xr mdoc 7
diff --git a/regress/mdoc/Bl/unclosed.out_ascii b/regress/mdoc/Bl/unclosed.out_ascii
new file mode 100644
index 00000000..3a350004
--- /dev/null
+++ b/regress/mdoc/Bl/unclosed.out_ascii
@@ -0,0 +1,12 @@
+BL-UNCLOSED(1) General Commands Manual BL-UNCLOSED(1)
+
+NNAAMMEE
+ BBll--uunncclloosseedd - list lacking an end macro
+
+DDEESSCCRRIIPPTTIIOONN
+ item
+
+SSEEEE AALLSSOO
+ mdoc(7)
+
+OpenBSD January 9, 2011 OpenBSD