summaryrefslogtreecommitdiffstats
path: root/regress
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2022-04-28 10:26:37 +0000
committerIngo Schwarze <schwarze@openbsd.org>2022-04-28 10:26:37 +0000
commitae95bf4c9468b176445f464bec4255eb69978cfa (patch)
treead0231e96a50139b4b21fbee7a8829e5846f11a4 /regress
parentb4c6ee8b16f890a5c4514c24d3fa9ee27cb0efe0 (diff)
downloadmandoc-ae95bf4c9468b176445f464bec4255eb69978cfa.tar.gz
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')
-rw-r--r--regress/man/B/Makefile6
-rw-r--r--regress/man/B/nest.in20
-rw-r--r--regress/man/B/nest.out_ascii12
-rw-r--r--regress/man/B/nest.out_lint6
4 files changed, 41 insertions, 3 deletions
diff --git a/regress/man/B/Makefile b/regress/man/B/Makefile
index 0fbecac0..a3ac6257 100644
--- a/regress/man/B/Makefile
+++ b/regress/man/B/Makefile
@@ -1,7 +1,7 @@
-# $OpenBSD: Makefile,v 1.1 2014/08/14 02:00:52 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/man/B/nest.in b/regress/man/B/nest.in
new file mode 100644
index 00000000..5523b4a5
--- /dev/null
+++ b/regress/man/B/nest.in
@@ -0,0 +1,20 @@
+.\" $OpenBSD: nest.in,v 1.2 2022/04/28 10:23:31 schwarze Exp $
+.TH B-NEST 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/man/B/nest.out_ascii b/regress/man/B/nest.out_ascii
new file mode 100644
index 00000000..30aa897d
--- /dev/null
+++ b/regress/man/B/nest.out_ascii
@@ -0,0 +1,12 @@
+B-NEST(1) General Commands Manual B-NEST(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-NEST(1)
diff --git a/regress/man/B/nest.out_lint b/regress/man/B/nest.out_lint
new file mode 100644
index 00000000..dd6ba7bd
--- /dev/null
+++ b/regress/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