aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2022-04-27 17:11:24 +0000
committerIngo Schwarze <schwarze@openbsd.org>2022-04-27 17:11:24 +0000
commit25152678ffdb7653b13569fefe86cb617d1e0532 (patch)
tree1f9326ddff3c4d06bed8e2611e7641684809c322
parent3d43838424a8548b9c4ffe76ae65e482bfa44346 (diff)
downloadmandoc-25152678ffdb7653b13569fefe86cb617d1e0532.tar.gz
mandoc-25152678ffdb7653b13569fefe86cb617d1e0532.tar.zst
mandoc-25152678ffdb7653b13569fefe86cb617d1e0532.zip
The .AT, .DT, and .UC macros are allowed inside next-line scope
and never produce output at the place of their invocation. Minibugs found while investigating unrelated afl(1) reports from tb@.
-rw-r--r--man_macro.c8
-rw-r--r--man_term.c8
-rw-r--r--regress/man/AT/Makefile5
-rw-r--r--regress/man/AT/basic.in10
-rw-r--r--regress/man/AT/basic.out_ascii9
-rw-r--r--regress/man/DT/Makefile5
-rw-r--r--regress/man/DT/basic.in22
-rw-r--r--regress/man/DT/basic.out_ascii21
-rw-r--r--regress/man/Makefile4
-rw-r--r--regress/man/UC/Makefile5
-rw-r--r--regress/man/UC/basic.in10
-rw-r--r--regress/man/UC/basic.out_ascii9
12 files changed, 106 insertions, 10 deletions
diff --git a/man_macro.c b/man_macro.c
index da560c49..80938c66 100644
--- a/man_macro.c
+++ b/man_macro.c
@@ -1,4 +1,4 @@
-/* $Id: man_macro.c,v 1.147 2022/04/14 16:43:44 schwarze Exp $ */
+/* $Id: man_macro.c,v 1.148 2022/04/27 17:11:24 schwarze Exp $ */
/*
* Copyright (c) 2012-2015,2017-2020,2022 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
@@ -68,10 +68,10 @@ static const struct man_macro man_macros[MAN_MAX - MAN_TH] = {
{ in_line_eoln, 0 }, /* RI */
{ blk_close, MAN_XSCOPE }, /* RE */
{ blk_exp, MAN_XSCOPE }, /* RS */
- { in_line_eoln, 0 }, /* DT */
- { in_line_eoln, 0 }, /* UC */
+ { in_line_eoln, MAN_NSCOPED }, /* DT */
+ { in_line_eoln, MAN_NSCOPED }, /* UC */
{ in_line_eoln, MAN_NSCOPED }, /* PD */
- { in_line_eoln, 0 }, /* AT */
+ { in_line_eoln, MAN_NSCOPED }, /* AT */
{ in_line_eoln, MAN_NSCOPED }, /* in */
{ blk_imp, MAN_XSCOPE }, /* SY */
{ blk_close, MAN_XSCOPE }, /* YS */
diff --git a/man_term.c b/man_term.c
index d289f2d1..1cef252e 100644
--- a/man_term.c
+++ b/man_term.c
@@ -1,6 +1,6 @@
-/* $Id: man_term.c,v 1.236 2021/06/28 19:50:15 schwarze Exp $ */
+/* $Id: man_term.c,v 1.237 2022/04/27 17:11:24 schwarze Exp $ */
/*
- * Copyright (c) 2010-2015, 2017-2020 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010-2015,2017-2020,2022 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -121,10 +121,10 @@ static const struct man_term_act man_term_acts[MAN_MAX - MAN_TH] = {
{ pre_alternate, NULL, 0 }, /* RI */
{ NULL, NULL, 0 }, /* RE */
{ pre_RS, post_RS, 0 }, /* RS */
- { pre_DT, NULL, 0 }, /* DT */
+ { pre_DT, NULL, MAN_NOTEXT }, /* DT */
{ pre_ign, NULL, MAN_NOTEXT }, /* UC */
{ pre_PD, NULL, MAN_NOTEXT }, /* PD */
- { pre_ign, NULL, 0 }, /* AT */
+ { pre_ign, NULL, MAN_NOTEXT }, /* AT */
{ pre_in, NULL, MAN_NOTEXT }, /* in */
{ pre_SY, post_SY, 0 }, /* SY */
{ NULL, NULL, 0 }, /* YS */
diff --git a/regress/man/AT/Makefile b/regress/man/AT/Makefile
new file mode 100644
index 00000000..44cf0519
--- /dev/null
+++ b/regress/man/AT/Makefile
@@ -0,0 +1,5 @@
+# $OpenBSD: Makefile,v 1.1 2022/04/27 17:04:15 schwarze Exp $
+
+REGRESS_TARGETS = basic
+
+.include <bsd.regress.mk>
diff --git a/regress/man/AT/basic.in b/regress/man/AT/basic.in
new file mode 100644
index 00000000..35eb2375
--- /dev/null
+++ b/regress/man/AT/basic.in
@@ -0,0 +1,10 @@
+.\" $OpenBSD: basic.in,v 1.1 2022/04/27 17:04:15 schwarze Exp $
+.TH AT-BASIC 1 "April 27, 2022"
+.SH NAME
+AT-basic \- the AT&T footer macro
+.SH DESCRIPTION
+initial text
+.B
+.AT
+bold text
+final text
diff --git a/regress/man/AT/basic.out_ascii b/regress/man/AT/basic.out_ascii
new file mode 100644
index 00000000..962c9f88
--- /dev/null
+++ b/regress/man/AT/basic.out_ascii
@@ -0,0 +1,9 @@
+AT-BASIC(1) General Commands Manual AT-BASIC(1)
+
+NNAAMMEE
+ AT-basic - the AT&T footer macro
+
+DDEESSCCRRIIPPTTIIOONN
+ initial text bboolldd tteexxtt final text
+
+7th Edition April 27, 2022 AT-BASIC(1)
diff --git a/regress/man/DT/Makefile b/regress/man/DT/Makefile
new file mode 100644
index 00000000..44cf0519
--- /dev/null
+++ b/regress/man/DT/Makefile
@@ -0,0 +1,5 @@
+# $OpenBSD: Makefile,v 1.1 2022/04/27 17:04:15 schwarze Exp $
+
+REGRESS_TARGETS = basic
+
+.include <bsd.regress.mk>
diff --git a/regress/man/DT/basic.in b/regress/man/DT/basic.in
new file mode 100644
index 00000000..8902e594
--- /dev/null
+++ b/regress/man/DT/basic.in
@@ -0,0 +1,22 @@
+.\" $OpenBSD: basic.in,v 1.1 2022/04/27 17:04:15 schwarze Exp $
+.TH DT-BASIC 1 "April 27, 2022"
+.SH NAME
+DT-basic \- restore the default tabulator positions
+.SH DESCRIPTION
+.nf
+Default tabs are every five columns:
+1234 1234 1234 1234 1234
+one two three four
+.PP
+Custom tabs: column 6, then every 8 columns:
+12345 1234567 1234567 1234567
+.ta 6n T 8n
+one two three four
+.PP
+.B
+.DT
+bold text
+.PP
+Back to the default:
+1234 1234 1234 1234 1234
+one two three four
diff --git a/regress/man/DT/basic.out_ascii b/regress/man/DT/basic.out_ascii
new file mode 100644
index 00000000..8ccbc685
--- /dev/null
+++ b/regress/man/DT/basic.out_ascii
@@ -0,0 +1,21 @@
+DT-BASIC(1) General Commands Manual DT-BASIC(1)
+
+NNAAMMEE
+ DT-basic - restore the default tabulator positions
+
+DDEESSCCRRIIPPTTIIOONN
+ Default tabs are every five columns:
+ 1234 1234 1234 1234 1234
+ one two three four
+
+ Custom tabs: column 6, then every 8 columns:
+ 12345 1234567 1234567 1234567
+ one two three four
+
+ bboolldd tteexxtt
+
+ Back to the default:
+ 1234 1234 1234 1234 1234
+ one two three four
+
+OpenBSD April 27, 2022 DT-BASIC(1)
diff --git a/regress/man/Makefile b/regress/man/Makefile
index 23d6e04b..17a939b2 100644
--- a/regress/man/Makefile
+++ b/regress/man/Makefile
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile,v 1.19 2019/01/05 21:13:55 schwarze Exp $
+# $OpenBSD: Makefile,v 1.20 2022/04/27 17:04:15 schwarze Exp $
-SUBDIR = B BI EX HP IP MT OP PD PP RS SH SS SY TH TP TS UR nf blank
+SUBDIR = AT B BI DT EX HP IP MT OP PD PP RS SH SS SY TH TP TS UC UR nf blank
.include "../Makefile.sub"
.include <bsd.subdir.mk>
diff --git a/regress/man/UC/Makefile b/regress/man/UC/Makefile
new file mode 100644
index 00000000..44cf0519
--- /dev/null
+++ b/regress/man/UC/Makefile
@@ -0,0 +1,5 @@
+# $OpenBSD: Makefile,v 1.1 2022/04/27 17:04:15 schwarze Exp $
+
+REGRESS_TARGETS = basic
+
+.include <bsd.regress.mk>
diff --git a/regress/man/UC/basic.in b/regress/man/UC/basic.in
new file mode 100644
index 00000000..f6f71be0
--- /dev/null
+++ b/regress/man/UC/basic.in
@@ -0,0 +1,10 @@
+.\" $OpenBSD: basic.in,v 1.1 2022/04/27 17:04:15 schwarze Exp $
+.TH UC-BASIC 1 "April 27, 2022"
+.SH NAME
+UC-basic \- the University of California footer macro
+.SH DESCRIPTION
+initial text
+.B
+.UC
+bold text
+final text
diff --git a/regress/man/UC/basic.out_ascii b/regress/man/UC/basic.out_ascii
new file mode 100644
index 00000000..fa29e19d
--- /dev/null
+++ b/regress/man/UC/basic.out_ascii
@@ -0,0 +1,9 @@
+UC-BASIC(1) General Commands Manual UC-BASIC(1)
+
+NNAAMMEE
+ UC-basic - the University of California footer macro
+
+DDEESSCCRRIIPPTTIIOONN
+ initial text bboolldd tteexxtt final text
+
+3rd Berkeley Distribution April 27, 2022 UC-BASIC(1)