summaryrefslogtreecommitdiff
path: root/regress/usr.bin/mandoc/man
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2022-04-28 10:17:39 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2022-04-28 10:17:39 +0000
commit2d8daf7a165f1d631222455cc0cce82d5285fe0c (patch)
treebe907d86115adce9e1e55169530bd89526bac5a3 /regress/usr.bin/mandoc/man
parentc10d2ecc308034a538f209f1c70f8ccad6a6330b (diff)
Element next-line scopes may nest, so man_breakscope() may have to
break multiple element next-line scopes at the same time, similar to what man_descope() already does for unconditional rewinding. This fixes an assertion failure that tb@ found with afl(1), caused by .SH .I .I .BI and similar sequences of macros without arguments.
Diffstat (limited to 'regress/usr.bin/mandoc/man')
-rw-r--r--regress/usr.bin/mandoc/man/B/Makefile6
-rw-r--r--regress/usr.bin/mandoc/man/B/nest.in20
-rw-r--r--regress/usr.bin/mandoc/man/B/nest.out_ascii12
-rw-r--r--regress/usr.bin/mandoc/man/B/nest.out_lint6
4 files changed, 41 insertions, 3 deletions
diff --git a/regress/usr.bin/mandoc/man/B/Makefile b/regress/usr.bin/mandoc/man/B/Makefile
index ac010e1ba62..a3ac6257dd4 100644
--- a/regress/usr.bin/mandoc/man/B/Makefile
+++ b/regress/usr.bin/mandoc/man/B/Makefile
@@ -1,7 +1,7 @@
-# $OpenBSD: Makefile,v 1.2 2017/06/03 15:54:09 schwarze Exp $
+# $OpenBSD: Makefile,v 1.3 2022/04/28 10:17:38 schwarze Exp $
-REGRESS_TARGETS = args blank
-LINT_TARGETS = args blank
+REGRESS_TARGETS = args blank nest
+LINT_TARGETS = args blank nest
# groff-1.22.3 defect:
# - A blank line in next line scope causes a blank line.
diff --git a/regress/usr.bin/mandoc/man/B/nest.in b/regress/usr.bin/mandoc/man/B/nest.in
new file mode 100644
index 00000000000..3edf2077394
--- /dev/null
+++ b/regress/usr.bin/mandoc/man/B/nest.in
@@ -0,0 +1,20 @@
+.\" $OpenBSD: nest.in,v 1.1 2022/04/28 10:17:38 schwarze Exp $
+.TH B-ARGS 1 "April 28, 2022"
+.SH NAME
+B-nest \- nested next-line scopes
+.SH DESCRIPTION
+initial text
+.B
+.SM
+bold text
+back to roman
+.B
+.SM
+.IR italic roman
+.B
+.SM
+.SH
+.B
+.B
+.RI section header
+final text
diff --git a/regress/usr.bin/mandoc/man/B/nest.out_ascii b/regress/usr.bin/mandoc/man/B/nest.out_ascii
new file mode 100644
index 00000000000..82ae6a7201b
--- /dev/null
+++ b/regress/usr.bin/mandoc/man/B/nest.out_ascii
@@ -0,0 +1,12 @@
+B-ARGS(1) General Commands Manual B-ARGS(1)
+
+NNAAMMEE
+ B-nest - nested next-line scopes
+
+DDEESSCCRRIIPPTTIIOONN
+ initial text bboolldd tteexxtt back to roman _i_t_a_l_i_croman
+
+section_h_e_a_d_e_r
+ final text
+
+OpenBSD April 28, 2022 B-ARGS(1)
diff --git a/regress/usr.bin/mandoc/man/B/nest.out_lint b/regress/usr.bin/mandoc/man/B/nest.out_lint
new file mode 100644
index 00000000000..dd6ba7bd78b
--- /dev/null
+++ b/regress/usr.bin/mandoc/man/B/nest.out_lint
@@ -0,0 +1,6 @@
+mandoc: nest.in:12:2: WARNING: line scope broken: IR breaks SM
+mandoc: nest.in:11:2: WARNING: line scope broken: IR breaks B
+mandoc: nest.in:15:2: WARNING: line scope broken: SH breaks SM
+mandoc: nest.in:14:2: WARNING: line scope broken: SH breaks B
+mandoc: nest.in:18:2: WARNING: line scope broken: RI breaks B
+mandoc: nest.in:17:2: WARNING: line scope broken: RI breaks B