aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--regress/roff/esc/Makefile11
-rw-r--r--regress/roff/esc/r.in13
-rw-r--r--regress/roff/esc/r.out_ascii11
-rw-r--r--regress/roff/esc/r.out_lint1
-rw-r--r--roff.710
-rw-r--r--roff_escape.c2
6 files changed, 37 insertions, 11 deletions
diff --git a/regress/roff/esc/Makefile b/regress/roff/esc/Makefile
index 111e59bc..bd39e378 100644
--- a/regress/roff/esc/Makefile
+++ b/regress/roff/esc/Makefile
@@ -1,15 +1,16 @@
-# $OpenBSD: Makefile,v 1.20 2022/05/01 16:18:59 schwarze Exp $
+# $OpenBSD: Makefile,v 1.21 2022/05/20 13:06:27 schwarze Exp $
REGRESS_TARGETS = one two multi comment
-REGRESS_TARGETS += B bs_man bs_mdoc c c_man E1 e f h hneg l O1 o p w z
+REGRESS_TARGETS += B bs_man bs_mdoc c c_man E1 e f h hneg l O1 o p r w z
REGRESS_TARGETS += ignore invalid unsupp
HTML_TARGETS = f
-LINT_TARGETS = comment B h l O1 w ignore invalid unsupp
+LINT_TARGETS = comment B h l O1 r w ignore invalid unsupp
-# mandoc defect:
+# mandoc defects:
# - \h with a negative argument replaces output characters
# instead of overstriking them
+# - \r does not return to the previous output line
-SKIP_GROFF = hneg
+SKIP_GROFF = hneg r
.include <bsd.regress.mk>
diff --git a/regress/roff/esc/r.in b/regress/roff/esc/r.in
new file mode 100644
index 00000000..835121d9
--- /dev/null
+++ b/regress/roff/esc/r.in
@@ -0,0 +1,13 @@
+.\" $OpenBSD: r.in,v 1.1 2022/05/20 13:06:27 schwarze Exp $
+.Dd $Mdocdate: May 20 2022 $
+.Dt ESC-R 1
+.Os
+.Sh NAME
+.Nm esc-r
+.Nd the roff reverse line feed escape sequence
+.Sh DESCRIPTION
+.Bd -literal
+first line
+before\rafter
+last line
+.Ed
diff --git a/regress/roff/esc/r.out_ascii b/regress/roff/esc/r.out_ascii
new file mode 100644
index 00000000..83ec9425
--- /dev/null
+++ b/regress/roff/esc/r.out_ascii
@@ -0,0 +1,11 @@
+ESC-R(1) General Commands Manual ESC-R(1)
+
+NNAAMMEE
+ eesscc--rr - the roff reverse line feed escape sequence
+
+DDEESSCCRRIIPPTTIIOONN
+ first line
+ beforeafter
+ last line
+
+OpenBSD May 20, 2022 OpenBSD
diff --git a/regress/roff/esc/r.out_lint b/regress/roff/esc/r.out_lint
new file mode 100644
index 00000000..d86f19ff
--- /dev/null
+++ b/regress/roff/esc/r.out_lint
@@ -0,0 +1 @@
+mandoc: r.in:11:7: UNSUPP: unsupported escape sequence: \r
diff --git a/roff.7 b/roff.7
index 6c2e3583..6ca3029d 100644
--- a/roff.7
+++ b/roff.7
@@ -1,7 +1,7 @@
-.\" $Id: roff.7,v 1.116 2021/09/18 12:23:06 schwarze Exp $
+.\" $Id: roff.7,v 1.117 2022/05/20 13:09:13 schwarze Exp $
.\"
+.\" Copyright (c) 2010-2019, 2022 Ingo Schwarze <schwarze@openbsd.org>
.\" Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
-.\" Copyright (c) 2010-2019 Ingo Schwarze <schwarze@openbsd.org>
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -15,7 +15,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: September 18 2021 $
+.Dd $Mdocdate: May 20 2022 $
.Dt ROFF 7
.Os
.Sh NAME
@@ -2166,8 +2166,8 @@ Break the output line at the end of the current word.
Set number register; ignored by
.Xr mandoc 1 .
.It Ic \er
-Move up by one line; ignored by
-.Xr mandoc 1 .
+Reverse line feed: move up by one output line.
+Currently unsupported.
.It Ic \eS\(aq Ns Ar number Ns Ic \(aq
Slant output; ignored by
.Xr mandoc 1 .
diff --git a/roff_escape.c b/roff_escape.c
index 1b5dc640..fb7b92ed 100644
--- a/roff_escape.c
+++ b/roff_escape.c
@@ -103,6 +103,7 @@ roff_escape(const char *buf, const int ln, const int aesc,
case '!':
case '?':
+ case 'r':
rval = ESCAPE_UNSUPP;
goto out;
@@ -114,7 +115,6 @@ roff_escape(const char *buf, const int ln, const int aesc,
case '^':
case 'a':
case 'd':
- case 'r':
case 't':
case 'u':
case '{':