summaryrefslogtreecommitdiffstats
path: root/regress/man
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2023-10-24 20:53:12 +0000
committerIngo Schwarze <schwarze@openbsd.org>2023-10-24 20:53:12 +0000
commit91555cb3f3238cb10f575c9191c3c2729c8f9473 (patch)
tree039de9bbee59547678c7bbded6b319d34dcdc4e9 /regress/man
parent8a8bc122106d3c6164977db2ba5b07c3e2bf359d (diff)
downloadmandoc-91555cb3f3238cb10f575c9191c3c2729c8f9473.tar.gz
Implement the man(7) .MR macro, a 2023 GNU extension.
The syntax and semantics is almost identical to mdoc(7) .Xr. This will be needed for reading the groff manual pages once our port will be updated to 1.23, and the Linux Manual Pages Project is also determined to start using it sooner or later. I did not advocate for this new macro, but since we want to remain able to read all manual pages found in the wild, there is little choice but to support it. At least it is easy to do, they basically copied .Xr.
Diffstat (limited to 'regress/man')
-rw-r--r--regress/man/MR/Makefile7
-rw-r--r--regress/man/MR/basic.in46
-rw-r--r--regress/man/MR/basic.out_ascii29
-rw-r--r--regress/man/MR/basic.out_lint5
-rw-r--r--regress/man/Makefile4
5 files changed, 89 insertions, 2 deletions
diff --git a/regress/man/MR/Makefile b/regress/man/MR/Makefile
new file mode 100644
index 00000000..7ab2a9ee
--- /dev/null
+++ b/regress/man/MR/Makefile
@@ -0,0 +1,7 @@
+# $OpenBSD: Makefile,v 1.1 2023/10/24 20:30:49 schwarze Exp $
+
+# disable for now because groff changed the global indentation
+#REGRESS_TARGETS = basic
+LINT_TARGETS = basic
+
+.include <bsd.regress.mk>
diff --git a/regress/man/MR/basic.in b/regress/man/MR/basic.in
new file mode 100644
index 00000000..adb531a5
--- /dev/null
+++ b/regress/man/MR/basic.in
@@ -0,0 +1,46 @@
+.\" $OpenBSD: basic.in,v 1.1 2023/10/24 20:30:49 schwarze Exp $
+.TH MR-BASIC 1 "October 24, 2023" OpenBSD
+.SH NAME
+MR-basic \- manual page cross references
+.SH DESCRIPTION
+empty:
+.MR
+prints empty name and parentheses
+.PP
+single argument:
+.MR name
+prints empty parentheses
+.PP
+two arguments:
+.MR test 1
+normal use
+.PP
+three arguments:
+.MR test 1 suffix
+with suffix
+.PP
+four arguments:
+.MR test 1 suffix excess
+warning
+.PP
+five arguments:
+.MR test 1 suffix too many
+warning
+.PP
+after setting
+.ft B
+bold
+font:
+.MR test 1 suffix
+not bold
+.PP
+in bold next-line scope:
+.B
+.MR test 1 suffix
+not bold
+.TP 5n
+first tag
+first body
+.TP
+.MR test 1 tag
+test body
diff --git a/regress/man/MR/basic.out_ascii b/regress/man/MR/basic.out_ascii
new file mode 100644
index 00000000..d386ba0b
--- /dev/null
+++ b/regress/man/MR/basic.out_ascii
@@ -0,0 +1,29 @@
+MR-BASIC(1) General Commands Manual MR-BASIC(1)
+
+NNAAMMEE
+ MR-basic - manual page cross references
+
+DDEESSCCRRIIPPTTIIOONN
+ empty: () prints empty name and parentheses
+
+ single argument: name() prints empty parentheses
+
+ two arguments: test(1) normal use
+
+ three arguments: test(1)suffix with suffix
+
+ four arguments: test(1)suffix warning
+
+ five arguments: test(1)suffix warning
+
+ after setting bboolldd ffoonntt:: test(1)suffix not bold
+
+ in bold next-line scope: test(1)suffix not bold
+
+ first tag
+ first body
+
+ test(1)tag
+ test body
+
+OpenBSD October 24, 2023 MR-BASIC(1)
diff --git a/regress/man/MR/basic.out_lint b/regress/man/MR/basic.out_lint
new file mode 100644
index 00000000..d4803bcb
--- /dev/null
+++ b/regress/man/MR/basic.out_lint
@@ -0,0 +1,5 @@
+mandoc: basic.in:38:2: WARNING: line scope broken: MR breaks B
+mandoc: basic.in:7:2: ERROR: missing manual name, using "": MR
+mandoc: basic.in:11:2: WARNING: missing section argument: MR name
+mandoc: basic.in:23:19: ERROR: skipping excess arguments: MR ... excess
+mandoc: basic.in:27:19: ERROR: skipping excess arguments: MR ... too
diff --git a/regress/man/Makefile b/regress/man/Makefile
index 17a939b2..306411dc 100644
--- a/regress/man/Makefile
+++ b/regress/man/Makefile
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile,v 1.20 2022/04/27 17:04:15 schwarze Exp $
+# $OpenBSD: Makefile,v 1.21 2023/10/24 20:30:49 schwarze Exp $
-SUBDIR = AT B BI DT EX HP IP MT OP PD PP RS SH SS SY TH TP TS UC UR nf blank
+SUBDIR = AT B BI DT EX HP IP MR MT OP PD PP RS SH SS SY TH TP TS UC UR nf blank
.include "../Makefile.sub"
.include <bsd.subdir.mk>