From d9f0f81c846a8405c29870e4a8379e5e79d1cad3 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Wed, 8 Feb 2017 03:02:13 +0000 Subject: Finally port the OpenBSD regression suite. Both kristaps@ and wiz@ repeated asked for this, literally for years. --- regress/roff/Makefile | 7 ++ regress/roff/Makefile.inc | 5 + regress/roff/args/Makefile | 6 ++ regress/roff/args/man.in | 134 +++++++++++++++++++++++++++ regress/roff/args/man.out_ascii | 38 ++++++++ regress/roff/args/man.out_lint | 9 ++ regress/roff/args/mdoc.in | 124 +++++++++++++++++++++++++ regress/roff/args/mdoc.out_ascii | 34 +++++++ regress/roff/args/mdoc.out_lint | 13 +++ regress/roff/args/roff.in | 71 +++++++++++++++ regress/roff/args/roff.out_ascii | 43 +++++++++ regress/roff/args/roff.out_lint | 16 ++++ regress/roff/br/Makefile | 6 ++ regress/roff/br/args.in | 9 ++ regress/roff/br/args.out_ascii | 14 +++ regress/roff/br/args.out_lint | 1 + regress/roff/cc/Makefile | 6 ++ regress/roff/cc/basic.in | 19 ++++ regress/roff/cc/basic.out_ascii | 17 ++++ regress/roff/cc/basic.out_lint | 1 + regress/roff/cond/Makefile | 6 ++ regress/roff/cond/before-Dd.in | 30 ++++++ regress/roff/cond/before-Dd.out_ascii | 17 ++++ regress/roff/cond/close.in | 15 +++ regress/roff/cond/close.out_ascii | 19 ++++ regress/roff/cond/close.out_lint | 1 + regress/roff/cond/ie.in | 30 ++++++ regress/roff/cond/ie.out_ascii | 19 ++++ regress/roff/cond/if.in | 97 ++++++++++++++++++++ regress/roff/cond/if.out_ascii | 34 +++++++ regress/roff/cond/if.out_lint | 2 + regress/roff/cond/numeric.in | 152 +++++++++++++++++++++++++++++++ regress/roff/cond/numeric.out_ascii | 41 +++++++++ regress/roff/cond/register.in | 11 +++ regress/roff/cond/register.out_ascii | 14 +++ regress/roff/cond/strcmp.in | 37 ++++++++ regress/roff/cond/strcmp.out_ascii | 18 ++++ regress/roff/de/Dd.in | 11 +++ regress/roff/de/Dd.out_ascii | 9 ++ regress/roff/de/Makefile | 44 +++++++++ regress/roff/de/TH.in | 8 ++ regress/roff/de/TH.out_ascii | 13 +++ regress/roff/de/append.in | 25 +++++ regress/roff/de/append.out_ascii | 9 ++ regress/roff/de/cond.in | 13 +++ regress/roff/de/cond.out_ascii | 9 ++ regress/roff/de/escname.in | 43 +++++++++ regress/roff/de/escname.out_ascii | 23 +++++ regress/roff/de/escname.out_lint | 8 ++ regress/roff/de/factorial.in | 31 +++++++ regress/roff/de/factorial.out_ascii | 18 ++++ regress/roff/de/indir.in | 30 ++++++ regress/roff/de/indir.out_ascii | 12 +++ regress/roff/de/indir.out_lint | 4 + regress/roff/de/startde.in | 24 +++++ regress/roff/de/startde.out_ascii | 15 +++ regress/roff/ds/Makefile | 5 + regress/roff/ds/append.in | 17 ++++ regress/roff/ds/append.out_ascii | 12 +++ regress/roff/ds/escname.in | 14 +++ regress/roff/ds/escname.out_ascii | 11 +++ regress/roff/ds/nested.in | 14 +++ regress/roff/ds/nested.out_ascii | 11 +++ regress/roff/ds/quoting.in | 32 +++++++ regress/roff/ds/quoting.out_ascii | 17 ++++ regress/roff/esc/B.in | 36 ++++++++ regress/roff/esc/B.out_ascii | 23 +++++ regress/roff/esc/B.out_lint | 1 + regress/roff/esc/Makefile | 6 ++ regress/roff/esc/c.in | 17 ++++ regress/roff/esc/c.out_ascii | 11 +++ regress/roff/esc/c_man.in | 12 +++ regress/roff/esc/c_man.out_ascii | 15 +++ regress/roff/esc/e.in | 19 ++++ regress/roff/esc/e.out_ascii | 13 +++ regress/roff/esc/f.in | 12 +++ regress/roff/esc/f.out_ascii | 11 +++ regress/roff/esc/h.in | 18 ++++ regress/roff/esc/h.out_ascii | 14 +++ regress/roff/esc/h.out_lint | 1 + regress/roff/esc/ignore.in | 14 +++ regress/roff/esc/ignore.out_ascii | 12 +++ regress/roff/esc/ignore.out_lint | 1 + regress/roff/esc/multi.in | 10 ++ regress/roff/esc/multi.out_ascii | 10 ++ regress/roff/esc/o.in | 18 ++++ regress/roff/esc/o.out_ascii | 14 +++ regress/roff/esc/one.in | 16 ++++ regress/roff/esc/one.out_ascii | 13 +++ regress/roff/esc/two.in | 75 +++++++++++++++ regress/roff/esc/two.out_ascii | 26 ++++++ regress/roff/esc/w.in | 16 ++++ regress/roff/esc/w.out_ascii | 13 +++ regress/roff/esc/w.out_lint | 1 + regress/roff/esc/z.in | 24 +++++ regress/roff/esc/z.out_ascii | 16 ++++ regress/roff/ft/Makefile | 6 ++ regress/roff/ft/badargs.in | 15 +++ regress/roff/ft/badargs.out_ascii | 13 +++ regress/roff/ft/badargs.out_lint | 2 + regress/roff/ig/Makefile | 6 ++ regress/roff/ig/basic.in | 27 ++++++ regress/roff/ig/basic.out_ascii | 13 +++ regress/roff/ig/basic.out_lint | 3 + regress/roff/it/Makefile | 6 ++ regress/roff/it/badarg.in | 17 ++++ regress/roff/it/badarg.out_ascii | 9 ++ regress/roff/it/badarg.out_lint | 2 + regress/roff/it/double.in | 16 ++++ regress/roff/it/double.out_ascii | 13 +++ regress/roff/it/text.in | 27 ++++++ regress/roff/it/text.out_ascii | 16 ++++ regress/roff/ll/Makefile | 7 ++ regress/roff/ll/basic.in | 25 +++++ regress/roff/ll/basic.out_ascii | 23 +++++ regress/roff/na/Makefile | 5 + regress/roff/na/args.in | 9 ++ regress/roff/na/args.out_ascii | 13 +++ regress/roff/nr/Makefile | 6 ++ regress/roff/nr/argc.in | 21 +++++ regress/roff/nr/argc.out_ascii | 17 ++++ regress/roff/nr/divzero.in | 8 ++ regress/roff/nr/divzero.out_ascii | 13 +++ regress/roff/nr/divzero.out_lint | 2 + regress/roff/nr/escname.in | 17 ++++ regress/roff/nr/escname.out_ascii | 19 ++++ regress/roff/nr/escname.out_lint | 4 + regress/roff/nr/eval.in | 67 ++++++++++++++ regress/roff/nr/eval.out_ascii | 33 +++++++ regress/roff/nr/int.in | 15 +++ regress/roff/nr/int.out_ascii | 15 +++ regress/roff/nr/predef.in | 24 +++++ regress/roff/nr/predef.out_ascii | 21 +++++ regress/roff/nr/rr.in | 15 +++ regress/roff/nr/rr.out_ascii | 14 +++ regress/roff/nr/scale.in | 26 ++++++ regress/roff/nr/scale.out_ascii | 13 +++ regress/roff/ps/Makefile | 5 + regress/roff/ps/ignore.in | 9 ++ regress/roff/ps/ignore.out_ascii | 13 +++ regress/roff/rm/Makefile | 5 + regress/roff/rm/basic.in | 19 ++++ regress/roff/rm/basic.out_ascii | 10 ++ regress/roff/scale/Makefile | 5 + regress/roff/scale/horiz.in | 31 +++++++ regress/roff/scale/horiz.out_ascii | 27 ++++++ regress/roff/sp/Makefile | 6 ++ regress/roff/sp/badargs-man.in | 17 ++++ regress/roff/sp/badargs-man.out_ascii | 29 ++++++ regress/roff/sp/badargs-man.out_lint | 1 + regress/roff/sp/badargs-mdoc.in | 20 ++++ regress/roff/sp/badargs-mdoc.out_ascii | 25 +++++ regress/roff/sp/negative.in | 8 ++ regress/roff/sp/negative.out_ascii | 14 +++ regress/roff/sp/scaling-man.in | 27 ++++++ regress/roff/sp/scaling-man.out_ascii | 34 +++++++ regress/roff/sp/scaling-mdoc.in | 30 ++++++ regress/roff/sp/scaling-mdoc.out_ascii | 30 ++++++ regress/roff/string/Makefile | 11 +++ regress/roff/string/escape.in | 26 ++++++ regress/roff/string/escape.out_ascii | 31 +++++++ regress/roff/string/infinite.in | 8 ++ regress/roff/string/infinite.out_ascii | 13 +++ regress/roff/string/name.in | 35 +++++++ regress/roff/string/name.out_ascii | 18 ++++ regress/roff/string/name.out_lint | 17 ++++ regress/roff/string/zerolength.in | 16 ++++ regress/roff/string/zerolength.out_ascii | 15 +++ regress/roff/tr/Makefile | 6 ++ regress/roff/tr/args.in | 16 ++++ regress/roff/tr/args.out_ascii | 14 +++ regress/roff/tr/args.out_lint | 3 + 172 files changed, 3303 insertions(+) create mode 100644 regress/roff/Makefile create mode 100644 regress/roff/Makefile.inc create mode 100644 regress/roff/args/Makefile create mode 100644 regress/roff/args/man.in create mode 100644 regress/roff/args/man.out_ascii create mode 100644 regress/roff/args/man.out_lint create mode 100644 regress/roff/args/mdoc.in create mode 100644 regress/roff/args/mdoc.out_ascii create mode 100644 regress/roff/args/mdoc.out_lint create mode 100644 regress/roff/args/roff.in create mode 100644 regress/roff/args/roff.out_ascii create mode 100644 regress/roff/args/roff.out_lint create mode 100644 regress/roff/br/Makefile create mode 100644 regress/roff/br/args.in create mode 100644 regress/roff/br/args.out_ascii create mode 100644 regress/roff/br/args.out_lint create mode 100644 regress/roff/cc/Makefile create mode 100644 regress/roff/cc/basic.in create mode 100644 regress/roff/cc/basic.out_ascii create mode 100644 regress/roff/cc/basic.out_lint create mode 100644 regress/roff/cond/Makefile create mode 100644 regress/roff/cond/before-Dd.in create mode 100644 regress/roff/cond/before-Dd.out_ascii create mode 100644 regress/roff/cond/close.in create mode 100644 regress/roff/cond/close.out_ascii create mode 100644 regress/roff/cond/close.out_lint create mode 100644 regress/roff/cond/ie.in create mode 100644 regress/roff/cond/ie.out_ascii create mode 100644 regress/roff/cond/if.in create mode 100644 regress/roff/cond/if.out_ascii create mode 100644 regress/roff/cond/if.out_lint create mode 100644 regress/roff/cond/numeric.in create mode 100644 regress/roff/cond/numeric.out_ascii create mode 100644 regress/roff/cond/register.in create mode 100644 regress/roff/cond/register.out_ascii create mode 100644 regress/roff/cond/strcmp.in create mode 100644 regress/roff/cond/strcmp.out_ascii create mode 100644 regress/roff/de/Dd.in create mode 100644 regress/roff/de/Dd.out_ascii create mode 100644 regress/roff/de/Makefile create mode 100644 regress/roff/de/TH.in create mode 100644 regress/roff/de/TH.out_ascii create mode 100644 regress/roff/de/append.in create mode 100644 regress/roff/de/append.out_ascii create mode 100644 regress/roff/de/cond.in create mode 100644 regress/roff/de/cond.out_ascii create mode 100644 regress/roff/de/escname.in create mode 100644 regress/roff/de/escname.out_ascii create mode 100644 regress/roff/de/escname.out_lint create mode 100644 regress/roff/de/factorial.in create mode 100644 regress/roff/de/factorial.out_ascii create mode 100644 regress/roff/de/indir.in create mode 100644 regress/roff/de/indir.out_ascii create mode 100644 regress/roff/de/indir.out_lint create mode 100644 regress/roff/de/startde.in create mode 100644 regress/roff/de/startde.out_ascii create mode 100644 regress/roff/ds/Makefile create mode 100644 regress/roff/ds/append.in create mode 100644 regress/roff/ds/append.out_ascii create mode 100644 regress/roff/ds/escname.in create mode 100644 regress/roff/ds/escname.out_ascii create mode 100644 regress/roff/ds/nested.in create mode 100644 regress/roff/ds/nested.out_ascii create mode 100644 regress/roff/ds/quoting.in create mode 100644 regress/roff/ds/quoting.out_ascii create mode 100644 regress/roff/esc/B.in create mode 100644 regress/roff/esc/B.out_ascii create mode 100644 regress/roff/esc/B.out_lint create mode 100644 regress/roff/esc/Makefile create mode 100644 regress/roff/esc/c.in create mode 100644 regress/roff/esc/c.out_ascii create mode 100644 regress/roff/esc/c_man.in create mode 100644 regress/roff/esc/c_man.out_ascii create mode 100644 regress/roff/esc/e.in create mode 100644 regress/roff/esc/e.out_ascii create mode 100644 regress/roff/esc/f.in create mode 100644 regress/roff/esc/f.out_ascii create mode 100644 regress/roff/esc/h.in create mode 100644 regress/roff/esc/h.out_ascii create mode 100644 regress/roff/esc/h.out_lint create mode 100644 regress/roff/esc/ignore.in create mode 100644 regress/roff/esc/ignore.out_ascii create mode 100644 regress/roff/esc/ignore.out_lint create mode 100644 regress/roff/esc/multi.in create mode 100644 regress/roff/esc/multi.out_ascii create mode 100644 regress/roff/esc/o.in create mode 100644 regress/roff/esc/o.out_ascii create mode 100644 regress/roff/esc/one.in create mode 100644 regress/roff/esc/one.out_ascii create mode 100644 regress/roff/esc/two.in create mode 100644 regress/roff/esc/two.out_ascii create mode 100644 regress/roff/esc/w.in create mode 100644 regress/roff/esc/w.out_ascii create mode 100644 regress/roff/esc/w.out_lint create mode 100644 regress/roff/esc/z.in create mode 100644 regress/roff/esc/z.out_ascii create mode 100644 regress/roff/ft/Makefile create mode 100644 regress/roff/ft/badargs.in create mode 100644 regress/roff/ft/badargs.out_ascii create mode 100644 regress/roff/ft/badargs.out_lint create mode 100644 regress/roff/ig/Makefile create mode 100644 regress/roff/ig/basic.in create mode 100644 regress/roff/ig/basic.out_ascii create mode 100644 regress/roff/ig/basic.out_lint create mode 100644 regress/roff/it/Makefile create mode 100644 regress/roff/it/badarg.in create mode 100644 regress/roff/it/badarg.out_ascii create mode 100644 regress/roff/it/badarg.out_lint create mode 100644 regress/roff/it/double.in create mode 100644 regress/roff/it/double.out_ascii create mode 100644 regress/roff/it/text.in create mode 100644 regress/roff/it/text.out_ascii create mode 100644 regress/roff/ll/Makefile create mode 100644 regress/roff/ll/basic.in create mode 100644 regress/roff/ll/basic.out_ascii create mode 100644 regress/roff/na/Makefile create mode 100644 regress/roff/na/args.in create mode 100644 regress/roff/na/args.out_ascii create mode 100644 regress/roff/nr/Makefile create mode 100644 regress/roff/nr/argc.in create mode 100644 regress/roff/nr/argc.out_ascii create mode 100644 regress/roff/nr/divzero.in create mode 100644 regress/roff/nr/divzero.out_ascii create mode 100644 regress/roff/nr/divzero.out_lint create mode 100644 regress/roff/nr/escname.in create mode 100644 regress/roff/nr/escname.out_ascii create mode 100644 regress/roff/nr/escname.out_lint create mode 100644 regress/roff/nr/eval.in create mode 100644 regress/roff/nr/eval.out_ascii create mode 100644 regress/roff/nr/int.in create mode 100644 regress/roff/nr/int.out_ascii create mode 100644 regress/roff/nr/predef.in create mode 100644 regress/roff/nr/predef.out_ascii create mode 100644 regress/roff/nr/rr.in create mode 100644 regress/roff/nr/rr.out_ascii create mode 100644 regress/roff/nr/scale.in create mode 100644 regress/roff/nr/scale.out_ascii create mode 100644 regress/roff/ps/Makefile create mode 100644 regress/roff/ps/ignore.in create mode 100644 regress/roff/ps/ignore.out_ascii create mode 100644 regress/roff/rm/Makefile create mode 100644 regress/roff/rm/basic.in create mode 100644 regress/roff/rm/basic.out_ascii create mode 100644 regress/roff/scale/Makefile create mode 100644 regress/roff/scale/horiz.in create mode 100644 regress/roff/scale/horiz.out_ascii create mode 100644 regress/roff/sp/Makefile create mode 100644 regress/roff/sp/badargs-man.in create mode 100644 regress/roff/sp/badargs-man.out_ascii create mode 100644 regress/roff/sp/badargs-man.out_lint create mode 100644 regress/roff/sp/badargs-mdoc.in create mode 100644 regress/roff/sp/badargs-mdoc.out_ascii create mode 100644 regress/roff/sp/negative.in create mode 100644 regress/roff/sp/negative.out_ascii create mode 100644 regress/roff/sp/scaling-man.in create mode 100644 regress/roff/sp/scaling-man.out_ascii create mode 100644 regress/roff/sp/scaling-mdoc.in create mode 100644 regress/roff/sp/scaling-mdoc.out_ascii create mode 100644 regress/roff/string/Makefile create mode 100644 regress/roff/string/escape.in create mode 100644 regress/roff/string/escape.out_ascii create mode 100644 regress/roff/string/infinite.in create mode 100644 regress/roff/string/infinite.out_ascii create mode 100644 regress/roff/string/name.in create mode 100644 regress/roff/string/name.out_ascii create mode 100644 regress/roff/string/name.out_lint create mode 100644 regress/roff/string/zerolength.in create mode 100644 regress/roff/string/zerolength.out_ascii create mode 100644 regress/roff/tr/Makefile create mode 100644 regress/roff/tr/args.in create mode 100644 regress/roff/tr/args.out_ascii create mode 100644 regress/roff/tr/args.out_lint (limited to 'regress/roff') diff --git a/regress/roff/Makefile b/regress/roff/Makefile new file mode 100644 index 00000000..96474204 --- /dev/null +++ b/regress/roff/Makefile @@ -0,0 +1,7 @@ +# $OpenBSD: Makefile,v 1.20 2015/02/06 16:05:51 schwarze Exp $ + +SUBDIR = args cond esc scale string +SUBDIR += br cc de ds ft ig it ll na nr ps rm sp tr + +.include "../Makefile.sub" +.include diff --git a/regress/roff/Makefile.inc b/regress/roff/Makefile.inc new file mode 100644 index 00000000..6b294ca9 --- /dev/null +++ b/regress/roff/Makefile.inc @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile.inc,v 1.3 2015/02/03 19:37:25 schwarze Exp $ + +SKIP_TMAN ?= ALL + +.include "../Makefile.inc" diff --git a/regress/roff/args/Makefile b/regress/roff/args/Makefile new file mode 100644 index 00000000..3d756c97 --- /dev/null +++ b/regress/roff/args/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.4 2014/07/06 19:08:57 schwarze Exp $ + +REGRESS_TARGETS = roff man mdoc +LINT_TARGETS = roff man mdoc + +.include diff --git a/regress/roff/args/man.in b/regress/roff/args/man.in new file mode 100644 index 00000000..36ce992f --- /dev/null +++ b/regress/roff/args/man.in @@ -0,0 +1,134 @@ +.TH ARGS-MAN 1 "November 19, 2014" +.SH NAME +args-man - arguments to man macros +.SH DESCRIPTION +standard unquoted: +.IB one two +text +.br +escaped blanks: +.IB one\ one two\ two +text +.br +escaped 'e' character: +.IB one\eone two +text +.br +.\"escaped backslash before blank: +.\"IB one\\ two +.\"text +.\"br +escaped backslash before 'e' character: +.IB one\\e two +text +.br +double inter-argument space: +.IB one two +text +.br +triple inter-argument space: +.IB one two +text +.br +single eol blank: +.IB one two +text +.br +double eol blank: +.IB one two +text +.br +triple eol blank: +.IB one two +text +.br +standard quoted: +.IB "one" "two" +text +.br +quoted quotes: +.IB "one""one" """two""" +text +.br +quoted whitespace: +.IB "one one" "two two" +text +.br +escaped 'e' characters: +.IB "one \e one" "\e" +text +.br +escaped backslash before blank: +.IB "one\\ one" "\\ " +text +.br +escaped backslash before 'e' character: +.IB "one\\eone" "\\e" +text +.br +double inter-argument space: +.IB "one one" "two two" +text +.br +triple inter-argument space: +.IB "one one" "two two" +text +.br +missing inter-argument space: +.IB "one one"two\ two +text +.br +single eol blank: +.IB "one one" "two two" +text +.br +double eol blank: +.IB "one one" "two two" +text +.br +triple eol blank: +.IB "one one" "two two" +text +.br +.\" Disabled for now because mandoc man(7) seems to +.\" mishandle trailing blanks in arguments, +.\" but that really isn't urgent to fix. +.ig +trailing blanks in arguments: +.IB "one " "two " +text +.br +.. +unterminated quotes: +.IB "one +text +.br +.IB one "two +text +.br +.ig +single trailing blank in unterminated quotes: +.IB "one +text +.br +.IB one "two +text +.br +double trailing blank in unterminated quotes: +.IB "one +text +.br +.IB one "two +text +.br +.. +tab after macro: +.IB one two +text +.br +escape sequence after macro: +.IB\(lqone two +text +.br +backslash at eol: +.IB one two\ diff --git a/regress/roff/args/man.out_ascii b/regress/roff/args/man.out_ascii new file mode 100644 index 00000000..b936b45f --- /dev/null +++ b/regress/roff/args/man.out_ascii @@ -0,0 +1,38 @@ +ARGS-MAN(1) General Commands Manual ARGS-MAN(1) + + + +NNAAMMEE + args-man - arguments to man macros + +DDEESSCCRRIIPPTTIIOONN + standard unquoted: _o_n_ettwwoo text + escaped blanks: _o_n_e _o_n_ettwwoo ttwwoo text + escaped 'e' character: _o_n_e_\_o_n_ettwwoo text + escaped backslash before 'e' character: _o_n_e_\ttwwoo text + double inter-argument space: _o_n_ettwwoo text + triple inter-argument space: _o_n_ettwwoo text + single eol blank: _o_n_ettwwoo text + double eol blank: _o_n_ettwwoo text + triple eol blank: _o_n_ettwwoo text + standard quoted: _o_n_ettwwoo text + quoted quotes: _o_n_e_"_o_n_e""ttwwoo"" text + quoted whitespace: _o_n_e _o_n_ettwwoo ttwwoo text + escaped 'e' characters: _o_n_e _\ _o_n_e\\ text + escaped backslash before blank: _o_n_e _o_n_e text + escaped backslash before 'e' character: _o_n_e_\_o_n_e\\ text + double inter-argument space: _o_n_e _o_n_ettwwoo ttwwoo text + triple inter-argument space: _o_n_e _o_n_ettwwoo ttwwoo text + missing inter-argument space: _o_n_e _o_n_ettwwoo ttwwoo text + single eol blank: _o_n_e _o_n_ettwwoo ttwwoo text + double eol blank: _o_n_e _o_n_ettwwoo ttwwoo text + triple eol blank: _o_n_e _o_n_ettwwoo ttwwoo text + unterminated quotes: _o_n_e text + _o_n_ettwwoo text + tab after macro: _o_n_ettwwoo text + escape sequence after macro: _o_n_ettwwoo text + backslash at eol: _o_n_ettwwoo + + + + November 19, 2014 ARGS-MAN(1) diff --git a/regress/roff/args/man.out_lint b/regress/roff/args/man.out_lint new file mode 100644 index 00000000..68b4ec9f --- /dev/null +++ b/regress/roff/args/man.out_lint @@ -0,0 +1,9 @@ +mandoc: man.in:34:13: WARNING: whitespace at end of input line +mandoc: man.in:38:14: WARNING: whitespace at end of input line +mandoc: man.in:42:15: WARNING: whitespace at end of input line +mandoc: man.in:82:25: WARNING: whitespace at end of input line +mandoc: man.in:86:26: WARNING: whitespace at end of input line +mandoc: man.in:90:27: WARNING: whitespace at end of input line +mandoc: man.in:103:5: WARNING: unterminated quoted argument +mandoc: man.in:106:9: WARNING: unterminated quoted argument +mandoc: man.in:130:1: ERROR: escaped character not allowed in a name: IB\( diff --git a/regress/roff/args/mdoc.in b/regress/roff/args/mdoc.in new file mode 100644 index 00000000..0a134816 --- /dev/null +++ b/regress/roff/args/mdoc.in @@ -0,0 +1,124 @@ +.Dd November 19, 2014 +.Dt ARGS-MDOC 1 +.Os OpenBSD +.Sh NAME +.Nm args-mdoc +.Nd arguments to mdoc macros +.Sh DESCRIPTION +standard unquoted: +.Fl one two +text +.br +escaped blanks: +.Fl one\ one two\ two +text +.br +escaped 'e' character: +.Fl one\eone two +text +.br +.\"escaped backslash before blank: +.\"Fl one\\ two +.\"text +.\"br +escaped backslash before 'e' character: +.Fl one\\e two +text +.br +double inter-argument space: +.Fl one two +text +.br +triple inter-argument space: +.Fl one two +text +.br +single eol blank: +.Fl one two +text +.br +double eol blank: +.Fl one two +text +.br +triple eol blank: +.Fl one two +text +.br +standard quoted: +.Fl "one" "two" +text +.br +quoted quotes: +.Fl "one""one" """two""" +text +.br +quoted whitespace: +.Fl "one one" "two two" +text +.br +escaped 'e' characters: +.Fl "one \e one" "\e" +text +.br +.\"escaped backslash before blank: +.\"Fl "one\\ one" "\\ " +.\"text +.\"br +.\"escaped backslash before 'e' character: +.\"Fl "one\\eone" "\\e" +.\"text +.\"br +double inter-argument space: +.Fl "one one" "two two" +text +.br +triple inter-argument space: +.Fl "one one" "two two" +text +.br +missing inter-argument space: +.Fl "one one"two\ two +text +.br +single eol blank: +.Fl "one one" "two two" +text +.br +double eol blank: +.Fl "one one" "two two" +text +.br +triple eol blank: +.Fl "one one" "two two" +text +.br +trailing blanks in arguments: +.Fl "one " "two " +text +.br +unterminated quotes: +.Fl "one +.Fl one "two +text +.br +single trailing blank in unterminated quotes: +.Fl "one +.Fl one "two +text +.br +double trailing blank in unterminated quotes: +.Fl "one +.Fl one "two +text +.br +tab after macro: +.Fl one two +text +.br +escape sequence after macro: +.Fl\(lqone two +text +.br +backslash at eol: +.Fl one two\ diff --git a/regress/roff/args/mdoc.out_ascii b/regress/roff/args/mdoc.out_ascii new file mode 100644 index 00000000..94a12518 --- /dev/null +++ b/regress/roff/args/mdoc.out_ascii @@ -0,0 +1,34 @@ +ARGS-MDOC(1) General Commands Manual ARGS-MDOC(1) + +NNAAMMEE + aarrggss--mmddoocc - arguments to mdoc macros + +DDEESSCCRRIIPPTTIIOONN + standard unquoted: --oonnee --ttwwoo text + escaped blanks: --oonnee oonnee --ttwwoo ttwwoo text + escaped 'e' character: --oonnee\\oonnee --ttwwoo text + escaped backslash before 'e' character: --oonnee\\ --ttwwoo text + double inter-argument space: --oonnee --ttwwoo text + triple inter-argument space: --oonnee --ttwwoo text + single eol blank: --oonnee --ttwwoo text + double eol blank: --oonnee --ttwwoo text + triple eol blank: --oonnee --ttwwoo text + standard quoted: --oonnee --ttwwoo text + quoted quotes: --oonnee""oonnee --""ttwwoo"" text + quoted whitespace: --oonnee oonnee --ttwwoo ttwwoo text + escaped 'e' characters: --oonnee \\ oonnee --\\ text + double inter-argument space: --oonnee oonnee --ttwwoo ttwwoo text + triple inter-argument space: --oonnee oonnee --ttwwoo ttwwoo text + missing inter-argument space: --oonnee oonnee --ttwwoo ttwwoo text + single eol blank: --oonnee oonnee --ttwwoo ttwwoo text + double eol blank: --oonnee oonnee --ttwwoo ttwwoo text + triple eol blank: --oonnee oonnee --ttwwoo ttwwoo text + trailing blanks in arguments: --oonnee --ttwwoo text + unterminated quotes: --oonnee --oonnee --ttwwoo text + single trailing blank in unterminated quotes: --oonnee --oonnee --ttwwoo text + double trailing blank in unterminated quotes: --oonnee --oonnee --ttwwoo text + tab after macro: --oonnee --ttwwoo text + escape sequence after macro: --oonnee --ttwwoo text + backslash at eol: --oonnee --ttwwoo + +OpenBSD November 19, 2014 OpenBSD diff --git a/regress/roff/args/mdoc.out_lint b/regress/roff/args/mdoc.out_lint new file mode 100644 index 00000000..a622c6c7 --- /dev/null +++ b/regress/roff/args/mdoc.out_lint @@ -0,0 +1,13 @@ +mandoc: mdoc.in:37:13: WARNING: whitespace at end of input line +mandoc: mdoc.in:41:14: WARNING: whitespace at end of input line +mandoc: mdoc.in:45:15: WARNING: whitespace at end of input line +mandoc: mdoc.in:85:25: WARNING: whitespace at end of input line +mandoc: mdoc.in:89:26: WARNING: whitespace at end of input line +mandoc: mdoc.in:93:27: WARNING: whitespace at end of input line +mandoc: mdoc.in:101:9: WARNING: unterminated quoted argument +mandoc: mdoc.in:102:13: WARNING: unterminated quoted argument +mandoc: mdoc.in:106:10: WARNING: unterminated quoted argument +mandoc: mdoc.in:107:14: WARNING: unterminated quoted argument +mandoc: mdoc.in:111:11: WARNING: unterminated quoted argument +mandoc: mdoc.in:112:15: WARNING: unterminated quoted argument +mandoc: mdoc.in:120:1: ERROR: escaped character not allowed in a name: Fl\( diff --git a/regress/roff/args/roff.in b/regress/roff/args/roff.in new file mode 100644 index 00000000..0f4039dc --- /dev/null +++ b/regress/roff/args/roff.in @@ -0,0 +1,71 @@ +.TH ARGS-ROFF 1 "February 21, 2015" +.SH NAME +args-roff - arguments to roff macros +.SH DESCRIPTION +.de test +.BI (\\$1) "(\\$2)" +.br +.. +arguments containing quotes: +.test a"b a"b +.de test +(\\$1) (\\$2) +.br +.. +standard unquoted: +.test one two +escaped blanks: +.test one\ one two\ two +escaped 'e' character: +.test one\eone two +escaped backslash before blank: +.test one\\ two +escaped backslash before 'e' character: +.test one\\e two +double inter-argument space: +.test one two +triple inter-argument space: +.test one two +single eol blank: +.test one two +double eol blank: +.test one two +triple eol blank: +.test one two +standard quoted: +.test "one" "two" +quoted quotes: +.test "one""one" """two""" +quoted whitespace: +.test "one one" "two two" +escaped 'e' characters: +.test "one \e one" "\e" +escaped backslash before blank: +.test "one\\ one" "\\ " +escaped backslash before 'e' character: +.test "one\\eone" "\\e" +double inter-argument space: +.test "one one" "two two" +triple inter-argument space: +.test "one one" "two two" +missing inter-argument space: +.test "one one"two\ two +single eol blank: +.test "one one" "two two" +double eol blank: +.test "one one" "two two" +triple eol blank: +.test "one one" "two two" +trailing blanks in arguments: +.test "one " "two " +unterminated quotes: +.test "one +.test one "two +single trailing blank in unterminated quotes: +.test "one +.test one "two +double trailing blank in unterminated quotes: +.test "one +.test one "two +backslash at eol: +.test one two\ diff --git a/regress/roff/args/roff.out_ascii b/regress/roff/args/roff.out_ascii new file mode 100644 index 00000000..eb0b5323 --- /dev/null +++ b/regress/roff/args/roff.out_ascii @@ -0,0 +1,43 @@ +ARGS-ROFF(1) General Commands Manual ARGS-ROFF(1) + + + +NNAAMMEE + args-roff - arguments to roff macros + +DDEESSCCRRIIPPTTIIOONN + arguments containing quotes: ((aa""bb))_(_a_"_b_) + standard unquoted: (one) (two) + escaped blanks: (one one) (two two) + escaped 'e' character: (one\one) (two) + escaped backslash before blank: (one) (two) + escaped backslash before 'e' character: (one\) (two) + double inter-argument space: (one) (two) + triple inter-argument space: (one) (two) + single eol blank: (one) (two) + double eol blank: (one) (two) + triple eol blank: (one) (two) + standard quoted: (one) (two) + quoted quotes: (one"one) ("two") + quoted whitespace: (one one) (two two) + escaped 'e' characters: (one \ one) (\) + escaped backslash before blank: (one one) ( ) + escaped backslash before 'e' character: (one\one) (\) + double inter-argument space: (one one) (two two) + triple inter-argument space: (one one) (two two) + missing inter-argument space: (one one) (two two) + single eol blank: (one one) (two two) + double eol blank: (one one) (two two) + triple eol blank: (one one) (two two) + trailing blanks in arguments: (one ) (two ) + unterminated quotes: (one) () + (one) (two) + single trailing blank in unterminated quotes: (one ) () + (one) (two ) + double trailing blank in unterminated quotes: (one ) () + (one) (two ) + backslash at eol: (one) (two) + + + + February 21, 2015 ARGS-ROFF(1) diff --git a/regress/roff/args/roff.out_lint b/regress/roff/args/roff.out_lint new file mode 100644 index 00000000..df08f6f6 --- /dev/null +++ b/regress/roff/args/roff.out_lint @@ -0,0 +1,16 @@ +mandoc: roff.in:30:15: WARNING: whitespace at end of input line +mandoc: roff.in:32:16: WARNING: whitespace at end of input line +mandoc: roff.in:34:17: WARNING: whitespace at end of input line +mandoc: roff.in:54:27: WARNING: whitespace at end of input line +mandoc: roff.in:56:28: WARNING: whitespace at end of input line +mandoc: roff.in:58:29: WARNING: whitespace at end of input line +mandoc: roff.in:62:7: WARNING: unterminated quoted argument +mandoc: roff.in:63:11: WARNING: unterminated quoted argument +mandoc: roff.in:65:7: WARNING: unterminated quoted argument +mandoc: roff.in:65:12: WARNING: whitespace at end of input line +mandoc: roff.in:66:11: WARNING: unterminated quoted argument +mandoc: roff.in:66:16: WARNING: whitespace at end of input line +mandoc: roff.in:68:7: WARNING: unterminated quoted argument +mandoc: roff.in:68:13: WARNING: whitespace at end of input line +mandoc: roff.in:69:11: WARNING: unterminated quoted argument +mandoc: roff.in:69:17: WARNING: whitespace at end of input line diff --git a/regress/roff/br/Makefile b/regress/roff/br/Makefile new file mode 100644 index 00000000..4d383bee --- /dev/null +++ b/regress/roff/br/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.3 2015/02/06 08:28:04 schwarze Exp $ + +REGRESS_TARGETS = args +LINT_TARGETS = args + +.include diff --git a/regress/roff/br/args.in b/regress/roff/br/args.in new file mode 100644 index 00000000..c2837971 --- /dev/null +++ b/regress/roff/br/args.in @@ -0,0 +1,9 @@ +.TH BR-ARGS 1 "January 17, 2011" OpenBSD +.SH NAME +br-args \- arguments to .br macros +.SH DESCRIPTION +some +text +.br arg1 arg2 arg3 +more +text diff --git a/regress/roff/br/args.out_ascii b/regress/roff/br/args.out_ascii new file mode 100644 index 00000000..b4d7c40b --- /dev/null +++ b/regress/roff/br/args.out_ascii @@ -0,0 +1,14 @@ +BR-ARGS(1) General Commands Manual BR-ARGS(1) + + + +NNAAMMEE + br-args - arguments to .br macros + +DDEESSCCRRIIPPTTIIOONN + some text + more text + + + +OpenBSD January 17, 2011 BR-ARGS(1) diff --git a/regress/roff/br/args.out_lint b/regress/roff/br/args.out_lint new file mode 100644 index 00000000..e9a03ad5 --- /dev/null +++ b/regress/roff/br/args.out_lint @@ -0,0 +1 @@ +mandoc: args.in:7:5: ERROR: skipping all arguments: br arg1 arg2 arg3 diff --git a/regress/roff/cc/Makefile b/regress/roff/cc/Makefile new file mode 100644 index 00000000..33951ead --- /dev/null +++ b/regress/roff/cc/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.2 2015/02/06 16:05:51 schwarze Exp $ + +REGRESS_TARGETS = basic +LINT_TARGETS = basic + +.include diff --git a/regress/roff/cc/basic.in b/regress/roff/cc/basic.in new file mode 100644 index 00000000..ffd1c211 --- /dev/null +++ b/regress/roff/cc/basic.in @@ -0,0 +1,19 @@ +.TH CC-BASIC 1 "July 7, 2012" OpenBSD +.SH NAME +cc-basic \- basic usage of the cc request +.SH DESCRIPTION +first line +.br +second +.cc : +line +:br +third +:cc ;bogus +line +;br +fourth +;cc +line +.br +last line diff --git a/regress/roff/cc/basic.out_ascii b/regress/roff/cc/basic.out_ascii new file mode 100644 index 00000000..530f1ff2 --- /dev/null +++ b/regress/roff/cc/basic.out_ascii @@ -0,0 +1,17 @@ +CC-BASIC(1) General Commands Manual CC-BASIC(1) + + + +NNAAMMEE + cc-basic - basic usage of the cc request + +DDEESSCCRRIIPPTTIIOONN + first line + second line + third line + fourth line + last line + + + +OpenBSD July 7, 2012 CC-BASIC(1) diff --git a/regress/roff/cc/basic.out_lint b/regress/roff/cc/basic.out_lint new file mode 100644 index 00000000..f091c585 --- /dev/null +++ b/regress/roff/cc/basic.out_lint @@ -0,0 +1 @@ +mandoc: basic.in:12:6: ERROR: skipping excess arguments: cc ... bogus diff --git a/regress/roff/cond/Makefile b/regress/roff/cond/Makefile new file mode 100644 index 00000000..68a88694 --- /dev/null +++ b/regress/roff/cond/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.8 2015/05/31 23:12:17 schwarze Exp $ + +REGRESS_TARGETS = if ie close numeric register strcmp before-Dd +LINT_TARGETS = if close + +.include diff --git a/regress/roff/cond/before-Dd.in b/regress/roff/cond/before-Dd.in new file mode 100644 index 00000000..6701403b --- /dev/null +++ b/regress/roff/cond/before-Dd.in @@ -0,0 +1,30 @@ +.if n \{.ds mystring mytext +.\} +.Dd May 27, 2012 +.Dt IF-BEFORE-DD 1 +.Os OpenBSD +.Sh NAME +.Nm if-before-Dd +.Nd end of if block on its own line before Dd +.Sh DESCRIPTION +In an old version of +.Xr mandoc 1 , +.Xr mdoc 7 +file format autodetection failed when the end of an +.Ic if +block stood on its own line before the initial +.Xr mdoc 7 +.Ic Dd +macro. +The file was mishandled as +.Xr man 7 +and parsing failed with unknown macro errors. +.Pp +If the present document looks like a proper +.Xr mdoc 7 +document and the following display reads +.Dq mytext , +then the problem did not come back: +.Bd -ragged -offset indent +\*[mystring] +.Ed diff --git a/regress/roff/cond/before-Dd.out_ascii b/regress/roff/cond/before-Dd.out_ascii new file mode 100644 index 00000000..f14a44fe --- /dev/null +++ b/regress/roff/cond/before-Dd.out_ascii @@ -0,0 +1,17 @@ +IF-BEFORE-DD(1) General Commands Manual IF-BEFORE-DD(1) + +NNAAMMEE + iiff--bbeeffoorree--DDdd - end of if block on its own line before Dd + +DDEESSCCRRIIPPTTIIOONN + In an old version of mandoc(1), mdoc(7) file format autodetection failed + when the end of an iiff block stood on its own line before the initial + mdoc(7) DDdd macro. The file was mishandled as man(7) and parsing failed + with unknown macro errors. + + If the present document looks like a proper mdoc(7) document and the + following display reads ``mytext'', then the problem did not come back: + + mytext + +OpenBSD May 27, 2012 OpenBSD diff --git a/regress/roff/cond/close.in b/regress/roff/cond/close.in new file mode 100644 index 00000000..7fa91423 --- /dev/null +++ b/regress/roff/cond/close.in @@ -0,0 +1,15 @@ +.TH COND-CLOSE 1 2013-06-27 OpenBSD +.SH NAME +cond-close \- closing conditional macros +.SH DESCRIPTION +.if t \{.unknown \} +closing after an unknown macro +.PP +.if t \{.ig \} +closing after an ignored macro +.PP +.if t \{text \} +closing after plain text +.PP +.if n \{ +still open at the end of the file diff --git a/regress/roff/cond/close.out_ascii b/regress/roff/cond/close.out_ascii new file mode 100644 index 00000000..244d4154 --- /dev/null +++ b/regress/roff/cond/close.out_ascii @@ -0,0 +1,19 @@ +COND-CLOSE(1) General Commands Manual COND-CLOSE(1) + + + +NNAAMMEE + cond-close - closing conditional macros + +DDEESSCCRRIIPPTTIIOONN + closing after an unknown macro + + closing after an ignored macro + + closing after plain text + + still open at the end of the file + + + +OpenBSD 2013-06-27 COND-CLOSE(1) diff --git a/regress/roff/cond/close.out_lint b/regress/roff/cond/close.out_lint new file mode 100644 index 00000000..e3419dba --- /dev/null +++ b/regress/roff/cond/close.out_lint @@ -0,0 +1 @@ +mandoc: close.in:14:1: ERROR: appending missing end of block: if diff --git a/regress/roff/cond/ie.in b/regress/roff/cond/ie.in new file mode 100644 index 00000000..f9ab8bc0 --- /dev/null +++ b/regress/roff/cond/ie.in @@ -0,0 +1,30 @@ +.TH IE 1 "December 16, 2014" OpenBSD +.SH NAME +if \- the roff conditional instruction with else-clause +.SH DESCRIPTION +.el Initially, else is ignored. +.ie n One-line true condition. +.br +Text following the true condition. +.el One-line else after true. +.el Another else after true. +.br +.ie t One-line false condition. +Text following the false condition. +.br +.el \{Two-line else +after false.\} +.br +.el Another else after false. +.br +.ie +Text following an empty condition. +.el Else after empty condition. +.br +.ie ! +Text following negated empty condition. +.el Else after negated empty condition. +.br +.ie n If \&.el\e{ works, nothing follows here: +.el\{dummy +BOOHOO\} diff --git a/regress/roff/cond/ie.out_ascii b/regress/roff/cond/ie.out_ascii new file mode 100644 index 00000000..73d3d97c --- /dev/null +++ b/regress/roff/cond/ie.out_ascii @@ -0,0 +1,19 @@ +IE(1) General Commands Manual IE(1) + + + +NNAAMMEE + if - the roff conditional instruction with else-clause + +DDEESSCCRRIIPPTTIIOONN + One-line true condition. + Text following the true condition. + Text following the false condition. + Two-line else after false. + Else after empty condition. + Else after negated empty condition. + If .el\{ works, nothing follows here: + + + +OpenBSD December 16, 2014 IE(1) diff --git a/regress/roff/cond/if.in b/regress/roff/cond/if.in new file mode 100644 index 00000000..f243fbdf --- /dev/null +++ b/regress/roff/cond/if.in @@ -0,0 +1,97 @@ +.TH IF 1 "June 27, 2015" OpenBSD +.SH NAME +if \- the roff conditional instruction +.SH DESCRIPTION +.if n One-line true condition. +.if t One-line false condition. +.if n +Next-line empty true condition. +.if t +Next-line empty false condition. +.br +False condition with whitespace: +.br +.if t +True condition with whitespace: +.if n +.if n \{One-line true cond\}ition with block. +.if t \{One-line false cond\}ition with block. +.br +.if n \{ One-line true cond\}ition with block with leading blanks. +.if t \{ One-line false cond\}ition with block with leading blanks. +.br +.if n \{Two-line true condition +without cont\}inuation and macros. +.if t \{Two-line false condition +without cont\}inuation and macros. +.br +.if n \{Two-line true condition +.B without cont\}inuation but with macros. +.if t \{Two-line false condition +.B without cont\}inuation but with macros. +.br +.if n \{\ +Two-line true condition +with continuation and macros. +.\}This will not be printed. +.if t \{\ +Two-line false condition +with continuation and macros. +.\}This will not be printed. +.br +.if n \{ +Two-line true condition with blank line.\} +.if t \{ +Two-line false condition with blank line.\} +.br +.if n \{Outer true condition. +.br +.if n Inner one-line true condition. +.if t Inner one-line false condition. +.br +.if n \{Inner two-line true condition +without continuation and macros.\} +.if t \{Inner two-line false condition +without continuation and macros.\} +.br +Back to the outer true condition.\} +.br +.if t \{Outer false condition. +.br +.if n Inner one-line true condition. +.if t Inner one-line false condition. +.br +.if n \{Inner two-line true condition +without continuation and macros.\} +.if t \{Inner two-line false condition +without continuation and macros.\} +.br +Back to the outer false condition.\} +.br +.if n \{Outer true condition. +.if t \{Inner false condition. +inner\}middle\}end +After conditional. +.br +.if n \{Outer true condition. +.if t \{Inner false condition. +.\}middle\}end +After conditional. +.br +.if n \{Outer true condition. +.if n \{Inner true condition. +.\}middle\}end +After conditional. +.br +.if n \{Outer true condition. +.if t \{Inner false condition. +.B\}middle\}end +After conditional. +.br +Backslash-backslash-brace in text: +.if t \{This text is not printed.\\} +This neither.\} +On a macro line: +.if t \{.B This text\\} is not printed. +.B This\} neither. +End. diff --git a/regress/roff/cond/if.out_ascii b/regress/roff/cond/if.out_ascii new file mode 100644 index 00000000..7fb9eecc --- /dev/null +++ b/regress/roff/cond/if.out_ascii @@ -0,0 +1,34 @@ +IF(1) General Commands Manual IF(1) + + + +NNAAMMEE + if - the roff conditional instruction + +DDEESSCCRRIIPPTTIIOONN + One-line true condition. + + Next-line empty true condition. + False condition with whitespace: + True condition with whitespace: + + One-line true condition with block. + One-line true condition with block with leading blanks. + Two-line true condition without continuation and macros. + Two-line true condition wwiitthhoouutt ccoonnttiinnuuaattiioonn bbuutt wwiitthh mmaaccrrooss.. + Two-line true condition with continuation and macros. + + Two-line true condition with blank line. + Outer true condition. + Inner one-line true condition. + Inner two-line true condition without continuation and macros. + Back to the outer true condition. + Outer true condition. After conditional. + Outer true condition. After conditional. + Outer true condition. Inner true condition. After conditional. + Outer true condition. After conditional. + Backslash-backslash-brace in text: On a macro line: End. + + + +OpenBSD June 27, 2015 IF(1) diff --git a/regress/roff/cond/if.out_lint b/regress/roff/cond/if.out_lint new file mode 100644 index 00000000..bb8e2d3a --- /dev/null +++ b/regress/roff/cond/if.out_lint @@ -0,0 +1,2 @@ +mandoc: if.in:14:1: WARNING: conditional request controls empty scope: if +mandoc: if.in:16:1: WARNING: conditional request controls empty scope: if diff --git a/regress/roff/cond/numeric.in b/regress/roff/cond/numeric.in new file mode 100644 index 00000000..e96f3087 --- /dev/null +++ b/regress/roff/cond/numeric.in @@ -0,0 +1,152 @@ +.TH COND-NUMERIC 1 "December 16, 2014" OpenBSD +.SH NAME +cond-numeric \- roff conditions involving numbers +.SH DESCRIPTION +positive number: +plain +.ie 42 (t) +.el (f) +negated +.ie !42 (t) +.el (f) +.PP +negative number: +plain +.ie -42 (t) +.el (f) +negated +.ie !-42 (t) +.el (f) +.PP +second number missing: +.ie 42=bad worse +.el ok +.PP +operator "<": +smaller +.ie 1<2 (t) +.el (f) +equal +.ie 1<1 (t) +.el (f) +greater +.ie 2<1 (t) +.el (f) +.PP +operator "<=": +smaller +.ie 1<=2 (t) +.el (f) +equal +.ie 1<=1 (t) +.el (f) +greater +.ie 2<=1 (t) +.el (f) +.PP +operator "=": +smaller +.ie 1=2 (t) +.el (f) +equal +.ie 1=1 (t) +.el (f) +greater +.ie 2=1 (t) +.el (f) +.PP +operator "==": +smaller +.ie 1==2 (t) +.el (f) +equal +.ie 1==1 (t) +.el (f) +greater +.ie 2==1 (t) +.el (f) +.PP +operator ">=": +smaller +.ie 1>=2 (t) +.el (f) +equal +.ie 1>=1 (t) +.el (f) +greater +.ie 2>=1 (t) +.el (f) +.PP +operator ">": +smaller +.ie 1>2 (t) +.el (f) +equal +.ie 1>1 (t) +.el (f) +greater +.ie 2>1 (t) +.el (f) +.PP +with negative numbers: +mm +.ie -2<-1 (t) +.el (f) +mp +.ie -2<1 (t) +.el (f) +pm +.ie 1>-2 (t) +.el (f) +.PP +operator "&": +00 +.ie 0&0 (t) +.el (f) +01 +.ie 0&1 (t) +.el (f) +10 +.ie 1&0 (t) +.el (f) +11 +.ie 1&1 (t) +.el (f) +.PP +operator ":": +00 +.ie 0:0 (t) +.el (f) +01 +.ie 0:1 (t) +.el (f) +10 +.ie 1:0 (t) +.el (f) +11 +.ie 1:1 (t) +.el (f) +.PP +with scaling units: +1i>2c +.ie 1i>2c (t) +.el (f) +1i-6P +.ie 1i-6P (t) +.el (f) +.PP +unmatched parenthesis: +.ie ( +(t) +.el (f) +one +.ie (1 (t) +.el (f) +.PP +negated unmatched parenthesis: +.ie !( +(t) +.el (f) +zero +.ie !(0 (t) +.el (f) diff --git a/regress/roff/cond/numeric.out_ascii b/regress/roff/cond/numeric.out_ascii new file mode 100644 index 00000000..35973672 --- /dev/null +++ b/regress/roff/cond/numeric.out_ascii @@ -0,0 +1,41 @@ +COND-NUMERIC(1) General Commands Manual COND-NUMERIC(1) + + + +NNAAMMEE + cond-numeric - roff conditions involving numbers + +DDEESSCCRRIIPPTTIIOONN + positive number: plain (t) negated (f) + + negative number: plain (f) negated (t) + + second number missing: ok + + operator "<": smaller (t) equal (f) greater (f) + + operator "<=": smaller (t) equal (t) greater (f) + + operator "=": smaller (f) equal (t) greater (f) + + operator "==": smaller (f) equal (t) greater (f) + + operator ">=": smaller (f) equal (t) greater (t) + + operator ">": smaller (f) equal (f) greater (t) + + with negative numbers: mm (t) mp (t) pm (t) + + operator "&": 00 (f) 01 (f) 10 (f) 11 (t) + + operator ":": 00 (f) 01 (t) 10 (t) 11 (t) + + with scaling units: 1i>2c (t) 1i-6P (f) + + unmatched parenthesis: (f) one (t) + + negated unmatched parenthesis: (f) zero (t) + + + +OpenBSD December 16, 2014 COND-NUMERIC(1) diff --git a/regress/roff/cond/register.in b/regress/roff/cond/register.in new file mode 100644 index 00000000..d8c9629b --- /dev/null +++ b/regress/roff/cond/register.in @@ -0,0 +1,11 @@ +.TH REGISTER 1 "May 31, 2015" OpenBSD +.SH NAME +register \- conditional testing whether a register is defined +.SH DESCRIPTION +.ie rmyreg OOPS +.el not yet defined +.br +.nr myreg 0 +.ie rmyreg now defined +.el OOPS +.if !rmyreg OOPS diff --git a/regress/roff/cond/register.out_ascii b/regress/roff/cond/register.out_ascii new file mode 100644 index 00000000..acd0f724 --- /dev/null +++ b/regress/roff/cond/register.out_ascii @@ -0,0 +1,14 @@ +REGISTER(1) General Commands Manual REGISTER(1) + + + +NNAAMMEE + register - conditional testing whether a register is defined + +DDEESSCCRRIIPPTTIIOONN + not yet defined + now defined + + + +OpenBSD May 31, 2015 REGISTER(1) diff --git a/regress/roff/cond/strcmp.in b/regress/roff/cond/strcmp.in new file mode 100644 index 00000000..eabe80ff --- /dev/null +++ b/regress/roff/cond/strcmp.in @@ -0,0 +1,37 @@ +.TH COND-STRCMP 1 "March 8, 2014" OpenBSD +.SH NAME +cond-strcmp \- roff conditions involving string comparison +.SH DESCRIPTION +empty: +.ie """ (t) +.el (f) +one char: +.ie xaxax (t) +.el (f) +three chars: +.ie xabcxabcx (t) +.el (f) +.br +mismatch: +.ie xabcxabdx (t) +.el (f) +longer: +.ie xabcxabcdx (t) +.el (f) +shorter: +.ie xabcdxabcx (t) +.el (f) +.br +no middle: +.ie xabc (t) +.el (f) +no end: +.ie xabcxabc +.el (f) +.SS Negation +match: +.ie !xabcxabcx (t) +.el (f) +mismatch: +.ie !xaxbx (t) +.el (f) diff --git a/regress/roff/cond/strcmp.out_ascii b/regress/roff/cond/strcmp.out_ascii new file mode 100644 index 00000000..9268dec8 --- /dev/null +++ b/regress/roff/cond/strcmp.out_ascii @@ -0,0 +1,18 @@ +COND-STRCMP(1) General Commands Manual COND-STRCMP(1) + + + +NNAAMMEE + cond-strcmp - roff conditions involving string comparison + +DDEESSCCRRIIPPTTIIOONN + empty: (t) one char: (t) three chars: (t) + mismatch: (f) longer: (f) shorter: (f) + no middle: (f) no end: (f) + + NNeeggaattiioonn + match: (f) mismatch: (t) + + + +OpenBSD March 8, 2014 COND-STRCMP(1) diff --git a/regress/roff/de/Dd.in b/regress/roff/de/Dd.in new file mode 100644 index 00000000..4dcbdd2b --- /dev/null +++ b/regress/roff/de/Dd.in @@ -0,0 +1,11 @@ +.de At +BSD +.. +.Dd June 3, 2012 +.Dt DE-DD 1 +.Os OpenBSD +.Sh NAME +.Nm de-Dd +.Nd interaction of the Dd macro with de requests +.Sh DESCRIPTION +.At diff --git a/regress/roff/de/Dd.out_ascii b/regress/roff/de/Dd.out_ascii new file mode 100644 index 00000000..1b04eea9 --- /dev/null +++ b/regress/roff/de/Dd.out_ascii @@ -0,0 +1,9 @@ +DE-DD(1) General Commands Manual DE-DD(1) + +NNAAMMEE + ddee--DDdd - interaction of the Dd macro with de requests + +DDEESSCCRRIIPPTTIIOONN + AT&T UNIX + +OpenBSD June 3, 2012 OpenBSD diff --git a/regress/roff/de/Makefile b/regress/roff/de/Makefile new file mode 100644 index 00000000..9488ce05 --- /dev/null +++ b/regress/roff/de/Makefile @@ -0,0 +1,44 @@ +# $OpenBSD: Makefile,v 1.9 2015/02/03 19:37:25 schwarze Exp $ + +REGRESS_TARGETS = append cond escname factorial indir startde TH Dd +LINT_TARGETS = escname indir + +.include + + +# OpenBSD only: non-standard targets + +# --- additions to public targets --- + +all ascii: ascii-diff-opt + +ascii-clean: ascii-clean-opt + +groff: TH.out_ascii_opt Dd.out_ascii_opt + +groff-clean: groff-clean-opt + + +# --- local rules --- + +ascii-diff-opt: TH.mandoc_ascii_opt Dd.mandoc_ascii_opt + @${DIFF} ${.CURDIR}/TH.out_ascii_opt TH.mandoc_ascii_opt + @${DIFF} ${.CURDIR}/Dd.out_ascii_opt Dd.mandoc_ascii_opt + +TH.mandoc_ascii_opt: TH.in + @${MANDOC} -Tascii -man ${.ALLSRC} > ${.TARGET} + +Dd.mandoc_ascii_opt: Dd.in + @${MANDOC} -Tascii -mdoc ${.ALLSRC} > ${.TARGET} + +ascii-clean-opt: + @rm -f TH.mandoc_ascii_opt Dd.mandoc_ascii_opt + +TH.out_ascii_opt: TH.in + /usr/local/bin/nroff -c -man -Tascii ${.ALLSRC} > ${.TARGET} + +Dd.out_ascii_opt: Dd.in + /usr/local/bin/nroff -c -mdoc -Tascii ${.ALLSRC} > ${.TARGET} + +groff-clean-opt: + rm -f TH.out_ascii_opt Dd.out_ascii_opt diff --git a/regress/roff/de/TH.in b/regress/roff/de/TH.in new file mode 100644 index 00000000..50b6401f --- /dev/null +++ b/regress/roff/de/TH.in @@ -0,0 +1,8 @@ +.de BI +.IB \\$1 \\$2 \\$3 +.. +.TH DE-TH 1 "June 3, 2012" OpenBSD +.SH NAME +de-TH - interaction of the TH macro with de requests +.SH DESCRIPTION +.BI bold italic bold diff --git a/regress/roff/de/TH.out_ascii b/regress/roff/de/TH.out_ascii new file mode 100644 index 00000000..35e1886a --- /dev/null +++ b/regress/roff/de/TH.out_ascii @@ -0,0 +1,13 @@ +DE-TH(1) General Commands Manual DE-TH(1) + + + +NNAAMMEE + de-TH - interaction of the TH macro with de requests + +DDEESSCCRRIIPPTTIIOONN + bboolldd_i_t_a_l_i_cbboolldd + + + +OpenBSD June 3, 2012 DE-TH(1) diff --git a/regress/roff/de/append.in b/regress/roff/de/append.in new file mode 100644 index 00000000..cdc01bdd --- /dev/null +++ b/regress/roff/de/append.in @@ -0,0 +1,25 @@ +.Dd July 7, 2014 +.Dt DE-APPEND 1 +.Os OpenBSD +.Sh NAME +.Nm de-append +.Nd append to macro definitions +.Sh DESCRIPTION +de: +.de mym +.Ox +.. +.mym +am: +.am mym +.Nx +.. +.mym +ami: +.ds myim mym +.ds myie mye +.ami myim myie +.Fx +.mye +.mym +end diff --git a/regress/roff/de/append.out_ascii b/regress/roff/de/append.out_ascii new file mode 100644 index 00000000..c5f4363c --- /dev/null +++ b/regress/roff/de/append.out_ascii @@ -0,0 +1,9 @@ +DE-APPEND(1) General Commands Manual DE-APPEND(1) + +NNAAMMEE + ddee--aappppeenndd - append to macro definitions + +DDEESSCCRRIIPPTTIIOONN + de: OpenBSD am: OpenBSD NetBSD ami: OpenBSD NetBSD FreeBSD end + +OpenBSD July 7, 2014 OpenBSD diff --git a/regress/roff/de/cond.in b/regress/roff/de/cond.in new file mode 100644 index 00000000..057ad3a0 --- /dev/null +++ b/regress/roff/de/cond.in @@ -0,0 +1,13 @@ +.Dd January 7, 2015 +.Dt DE-COND 1 +.Os OpenBSD +.Sh NAME +.Nm de-cond +.Nd conditional execution of a user-defined macro +.Sh DESCRIPTION +.de mym +This is the text printed by the macro. +.. +preceding text +.if n .mym +following text diff --git a/regress/roff/de/cond.out_ascii b/regress/roff/de/cond.out_ascii new file mode 100644 index 00000000..2f946407 --- /dev/null +++ b/regress/roff/de/cond.out_ascii @@ -0,0 +1,9 @@ +DE-COND(1) General Commands Manual DE-COND(1) + +NNAAMMEE + ddee--ccoonndd - conditional execution of a user-defined macro + +DDEESSCCRRIIPPTTIIOONN + preceding text This is the text printed by the macro. following text + +OpenBSD January 7, 2015 OpenBSD diff --git a/regress/roff/de/escname.in b/regress/roff/de/escname.in new file mode 100644 index 00000000..da6d885f --- /dev/null +++ b/regress/roff/de/escname.in @@ -0,0 +1,43 @@ +.Dd June 29, 2014 +.Dt DE-ESCNAME 1 +.Os OpenBSD +.Sh NAME +.Nm de-escname +.Nd escape sequences in macro names +.Sh DESCRIPTION +initial text +.Pp +define second = val2 +.de second +val2 +.. +.Pp +define first\esecond = val3 +.de first\\second end3 +val3 +.end3 +.Pp +define first = val1 +.de first\esecond +val1 +.. +.Pp +Values (first, second, first\esecond): +.first +.second +.first\\second +.Pp +Remove all but second: +.rm first\\second first\esecond second +.first +.second +.first\\second +.Pp +macro seperated from argument by an escape sequence: +.de witharg end4 excess arguments +.Dq \\$1 +.end4 tail argument +.witharg\(enargument +.Pp +.de\e +final text diff --git a/regress/roff/de/escname.out_ascii b/regress/roff/de/escname.out_ascii new file mode 100644 index 00000000..9a2d825a --- /dev/null +++ b/regress/roff/de/escname.out_ascii @@ -0,0 +1,23 @@ +DE-ESCNAME(1) General Commands Manual DE-ESCNAME(1) + +NNAAMMEE + ddee--eessccnnaammee - escape sequences in macro names + +DDEESSCCRRIIPPTTIIOONN + initial text + + define second = val2 + + define first\second = val3 + + define first = val1 + + Values (first, second, first\second): val1 val2 val3 + + Remove all but second: val2 + + macro seperated from argument by an escape sequence: ``argument'' + + final text + +OpenBSD June 29, 2014 OpenBSD diff --git a/regress/roff/de/escname.out_lint b/regress/roff/de/escname.out_lint new file mode 100644 index 00000000..b4dd49a0 --- /dev/null +++ b/regress/roff/de/escname.out_lint @@ -0,0 +1,8 @@ +mandoc: escname.in:21:1: ERROR: escaped character not allowed in a name: first\e +mandoc: escname.in:31:19: ERROR: escaped character not allowed in a name: first\e +mandoc: escname.in:32:2: ERROR: skipping unknown macro: .first +mandoc: escname.in:34:2: ERROR: skipping unknown macro: .first\\second +mandoc: escname.in:37:5: ERROR: skipping excess arguments: .de ... excess arguments +mandoc: escname.in:40:1: ERROR: escaped character not allowed in a name: witharg\( +mandoc: escname.in:42:1: ERROR: escaped character not allowed in a name: de\e +mandoc: escname.in:42:1: WARNING: skipping empty request: de diff --git a/regress/roff/de/factorial.in b/regress/roff/de/factorial.in new file mode 100644 index 00000000..8d83714b --- /dev/null +++ b/regress/roff/de/factorial.in @@ -0,0 +1,31 @@ +.Dd December 30, 2014 +.Dt FACTORIAL 1 +.Os OpenBSD +.Sh NAME +.Nm factorial +.Nd factorial sequence +.Sh DESCRIPTION +.\" recursively calculate a single factorial +.de rfac +. ie \\$1>1 \{\ +. No \\$1 * +. nr i \\$1-1 +. rfac \\ni +. nr acc \\n[acc]*\\$1 +. \} +. el .nr acc 1 +.. +.\" recursively print a sequence of factorials +.de fac +. No \\$1! = +. rfac \\$1 +. if \\$1>1 1 = +. No \\n[acc] +. if \\$1 \{\ +. br +. nr i \\$1-1 +. fac \\ni +. \} +.. +.\" main program +.fac 9 diff --git a/regress/roff/de/factorial.out_ascii b/regress/roff/de/factorial.out_ascii new file mode 100644 index 00000000..cdc019ed --- /dev/null +++ b/regress/roff/de/factorial.out_ascii @@ -0,0 +1,18 @@ +FACTORIAL(1) General Commands Manual FACTORIAL(1) + +NNAAMMEE + ffaaccttoorriiaall - factorial sequence + +DDEESSCCRRIIPPTTIIOONN + 9! = 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 362880 + 8! = 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 40320 + 7! = 7 * 6 * 5 * 4 * 3 * 2 * 1 = 5040 + 6! = 6 * 5 * 4 * 3 * 2 * 1 = 720 + 5! = 5 * 4 * 3 * 2 * 1 = 120 + 4! = 4 * 3 * 2 * 1 = 24 + 3! = 3 * 2 * 1 = 6 + 2! = 2 * 1 = 2 + 1! = 1 + 0! = 1 + +OpenBSD December 30, 2014 OpenBSD diff --git a/regress/roff/de/indir.in b/regress/roff/de/indir.in new file mode 100644 index 00000000..13d10071 --- /dev/null +++ b/regress/roff/de/indir.in @@ -0,0 +1,30 @@ +.Dd July 7, 2014 +.Dt DE-INDIR 1 +.Os OpenBSD +.Sh NAME +.Nm de-indir +.Nd indirect macro definitions +.Sh DESCRIPTION +full dei: +.ds myim mym +.ds myie mye +.dei myim myie +text1 +.mye +.mym +.br +dei with undefined second argument: +.rm myie mym +.dei myim myie +text2 +.. +.mym +.br +dei with undefined first argument: +.rm myim mym +.dei myim +text3 +.br +dei without arguments: +.dei +text4 diff --git a/regress/roff/de/indir.out_ascii b/regress/roff/de/indir.out_ascii new file mode 100644 index 00000000..4cb592b1 --- /dev/null +++ b/regress/roff/de/indir.out_ascii @@ -0,0 +1,12 @@ +DE-INDIR(1) General Commands Manual DE-INDIR(1) + +NNAAMMEE + ddee--iinnddiirr - indirect macro definitions + +DDEESSCCRRIIPPTTIIOONN + full dei: text1 + dei with undefined second argument: text2 + dei with undefined first argument: text3 + dei without arguments: text4 + +OpenBSD July 7, 2014 OpenBSD diff --git a/regress/roff/de/indir.out_lint b/regress/roff/de/indir.out_lint new file mode 100644 index 00000000..43194fea --- /dev/null +++ b/regress/roff/de/indir.out_lint @@ -0,0 +1,4 @@ +mandoc: indir.in:18:11: WARNING: undefined string, using "": myie +mandoc: indir.in:25:6: WARNING: undefined string, using "": myim +mandoc: indir.in:25:1: WARNING: skipping empty request: dei +mandoc: indir.in:29:1: WARNING: skipping empty request: dei diff --git a/regress/roff/de/startde.in b/regress/roff/de/startde.in new file mode 100644 index 00000000..ca9cfac1 --- /dev/null +++ b/regress/roff/de/startde.in @@ -0,0 +1,24 @@ +.Dd December 30, 2014 +.Dt DE-STARTDE 1 +.Os OpenBSD +.Sh NAME +.Nm de-startde +.Nd macro starting a macro definition, but not ending it +.Sh DESCRIPTION +define outer macro: +.de outer +outer macro called; define inner macro: +.de inner +inner macro called; end outer scope. +.. +outer scope ended; outer macro now defined. +.Pp +call outer macro: +.outer +returned from call of outer macro; end inner scope. +.. +inner scope ended; inner macro now defined. +.Pp +call inner macro: +.inner +returned from call of inner macro. diff --git a/regress/roff/de/startde.out_ascii b/regress/roff/de/startde.out_ascii new file mode 100644 index 00000000..05b58e8c --- /dev/null +++ b/regress/roff/de/startde.out_ascii @@ -0,0 +1,15 @@ +DE-STARTDE(1) General Commands Manual DE-STARTDE(1) + +NNAAMMEE + ddee--ssttaarrttddee - macro starting a macro definition, but not ending it + +DDEESSCCRRIIPPTTIIOONN + define outer macro: outer scope ended; outer macro now defined. + + call outer macro: outer macro called; define inner macro: inner scope + ended; inner macro now defined. + + call inner macro: inner macro called; end outer scope. returned from + call of outer macro; end inner scope. returned from call of inner macro. + +OpenBSD December 30, 2014 OpenBSD diff --git a/regress/roff/ds/Makefile b/regress/roff/ds/Makefile new file mode 100644 index 00000000..98a93d75 --- /dev/null +++ b/regress/roff/ds/Makefile @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile,v 1.5 2014/06/29 22:12:54 schwarze Exp $ + +REGRESS_TARGETS = append escname nested quoting + +.include diff --git a/regress/roff/ds/append.in b/regress/roff/ds/append.in new file mode 100644 index 00000000..6efa46ba --- /dev/null +++ b/regress/roff/ds/append.in @@ -0,0 +1,17 @@ +.Dd February 4, 2014 +.Dt DS-APPEND 1 +.Os OpenBSD +.Sh NAME +.Nm ds-append +.Nd appending to user-defined strings +.Sh DESCRIPTION +.ds foo first part +first part: \*[foo] +.br +.as foo " second part +with second part: \*[foo] +.br +.as foo " third part +with third part: \*[foo] +.br +end of test document diff --git a/regress/roff/ds/append.out_ascii b/regress/roff/ds/append.out_ascii new file mode 100644 index 00000000..47c68aa3 --- /dev/null +++ b/regress/roff/ds/append.out_ascii @@ -0,0 +1,12 @@ +DS-APPEND(1) General Commands Manual DS-APPEND(1) + +NNAAMMEE + ddss--aappppeenndd - appending to user-defined strings + +DDEESSCCRRIIPPTTIIOONN + first part: first part + with second part: first part second part + with third part: first part second part third part + end of test document + +OpenBSD February 4, 2014 OpenBSD diff --git a/regress/roff/ds/escname.in b/regress/roff/ds/escname.in new file mode 100644 index 00000000..6394144b --- /dev/null +++ b/regress/roff/ds/escname.in @@ -0,0 +1,14 @@ +.Dd June 29, 2014 +.Dt DS-ESCNAME 1 +.Os OpenBSD +.Sh NAME +.Nm ds-escname +.Nd escape sequences in string names +.Sh DESCRIPTION +.ds std\\esc stdval +Now \e*[std\\esc] is +.Sq \*[std\\esc] . +.Pp +.ds esc\eesc escval +Now \e*[esc] is +.Sq \*[esc] . diff --git a/regress/roff/ds/escname.out_ascii b/regress/roff/ds/escname.out_ascii new file mode 100644 index 00000000..3648b19b --- /dev/null +++ b/regress/roff/ds/escname.out_ascii @@ -0,0 +1,11 @@ +DS-ESCNAME(1) General Commands Manual DS-ESCNAME(1) + +NNAAMMEE + ddss--eessccnnaammee - escape sequences in string names + +DDEESSCCRRIIPPTTIIOONN + Now \*[std\esc] is `stdval'. + + Now \*[esc] is `'. + +OpenBSD June 29, 2014 OpenBSD diff --git a/regress/roff/ds/nested.in b/regress/roff/ds/nested.in new file mode 100644 index 00000000..a213b157 --- /dev/null +++ b/regress/roff/ds/nested.in @@ -0,0 +1,14 @@ +.Dd April 7, 2010 +.Dt DS-NESTED 1 +.Os OpenBSD +.Sh NAME +.Nm ds-nested +.Nd nested string expansion +.Sh DESCRIPTION +.ds foo bar +.ds bar output +This is the \*[\*[foo]]. +.Pp +.ds pi surprising +This is \*[\*[Pi]]. +This is \*(\*(Pi. diff --git a/regress/roff/ds/nested.out_ascii b/regress/roff/ds/nested.out_ascii new file mode 100644 index 00000000..50d51619 --- /dev/null +++ b/regress/roff/ds/nested.out_ascii @@ -0,0 +1,11 @@ +DS-NESTED(1) General Commands Manual DS-NESTED(1) + +NNAAMMEE + ddss--nneesstteedd - nested string expansion + +DDEESSCCRRIIPPTTIIOONN + This is the output. + + This is surprising. This is surprising. + +OpenBSD April 7, 2010 OpenBSD diff --git a/regress/roff/ds/quoting.in b/regress/roff/ds/quoting.in new file mode 100644 index 00000000..3e794d09 --- /dev/null +++ b/regress/roff/ds/quoting.in @@ -0,0 +1,32 @@ +.Dd August 3, 2010 +.Dt DS-QUOTING 1 +.Os OpenBSD +.Sh NAME +.Nm ds-quoting +.Nd quote handling by the define string request +.Sh DESCRIPTION +.ds foo initial definition +no quoting: \*[foo] +.br +.ds foo redefinition +still no quoting: \*[foo] +.br +.ds foo "string value +leading quotes: \*[foo] +.br +.ds foo "string value" +leading and trailing quotes: \*[foo] +.br +.ds foo "string" value +leading and middle quotes: \*[foo] +.br +.ds foo 'string value" +leading apostrophe, trailing quotes: \*[foo] +.br +.ds foo string value" +leading blank, trailing quotes: \*[foo] +.br +.ds foo +empty string: x\*[foo]x +.br +end of test document diff --git a/regress/roff/ds/quoting.out_ascii b/regress/roff/ds/quoting.out_ascii new file mode 100644 index 00000000..636743db --- /dev/null +++ b/regress/roff/ds/quoting.out_ascii @@ -0,0 +1,17 @@ +DS-QUOTING(1) General Commands Manual DS-QUOTING(1) + +NNAAMMEE + ddss--qquuoottiinngg - quote handling by the define string request + +DDEESSCCRRIIPPTTIIOONN + no quoting: initial definition + still no quoting: redefinition + leading quotes: string value + leading and trailing quotes: string value" + leading and middle quotes: string" value + leading apostrophe, trailing quotes: 'string value" + leading blank, trailing quotes: string value" + empty string: xx + end of test document + +OpenBSD August 3, 2010 OpenBSD diff --git a/regress/roff/esc/B.in b/regress/roff/esc/B.in new file mode 100644 index 00000000..97ac39c5 --- /dev/null +++ b/regress/roff/esc/B.in @@ -0,0 +1,36 @@ +.Dd July 6, 2014 +.Dt ESC-B 1 +.Os OpenBSD +.Sh NAME +.Nm esc-B +.Nd the roff escape B sequence: validate numerical expression +.Sh DESCRIPTION +empty: \B'' +.br +digit: \B'0' +.br +no number: \B'no number' +.br +trailing garbage: \B'1X' +.br +trailing operator: \B'1+' +.br +infix operator: \B'1+1' +.br +infix and trailing operator: \B'1+1+' +.br +chain of operations: \B'1+2+3+4' +.br +trailing para: \B'1+(' +.br +unclosed para: \B'(1' +.br +empty pair of parentheses: \B'()' +.br +parentheses containing number: \B'(42)' +.br +complex expression: \B'3+(3*(5==5*2)*4)+(3*5)/2' +.br +other delimiter: \Bx1+1x +.br +no closing delimiter: \B'1+1 diff --git a/regress/roff/esc/B.out_ascii b/regress/roff/esc/B.out_ascii new file mode 100644 index 00000000..c84490a2 --- /dev/null +++ b/regress/roff/esc/B.out_ascii @@ -0,0 +1,23 @@ +ESC-B(1) General Commands Manual ESC-B(1) + +NNAAMMEE + eesscc--BB - the roff escape B sequence: validate numerical expression + +DDEESSCCRRIIPPTTIIOONN + empty: 0 + digit: 1 + no number: 0 + trailing garbage: 0 + trailing operator: 0 + infix operator: 1 + infix and trailing operator: 0 + chain of operations: 1 + trailing para: 0 + unclosed para: 0 + empty pair of parentheses: 0 + parentheses containing number: 1 + complex expression: 1 + other delimiter: 1 + no closing delimiter: 0 + +OpenBSD July 6, 2014 OpenBSD diff --git a/regress/roff/esc/B.out_lint b/regress/roff/esc/B.out_lint new file mode 100644 index 00000000..6159b1c5 --- /dev/null +++ b/regress/roff/esc/B.out_lint @@ -0,0 +1 @@ +mandoc: B.in:36:23: WARNING: invalid escape sequence: \B'1+1 diff --git a/regress/roff/esc/Makefile b/regress/roff/esc/Makefile new file mode 100644 index 00000000..f0860368 --- /dev/null +++ b/regress/roff/esc/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.11 2015/04/29 18:32:57 schwarze Exp $ + +REGRESS_TARGETS = one two multi B c c_man e f h o w z ignore +LINT_TARGETS = B h w ignore + +.include diff --git a/regress/roff/esc/c.in b/regress/roff/esc/c.in new file mode 100644 index 00000000..c3b7a912 --- /dev/null +++ b/regress/roff/esc/c.in @@ -0,0 +1,17 @@ +.Dd December 2, 2014 +.Dt ESC-C 1 +.Os OpenBSD +.Sh NAME +.Nm esc-c +.Nd the roff escape c sequence: remove trailing space +.Sh DESCRIPTION +No space between +.Dq one +and +.Dq word : +one\c +word +.Bd -literal +one\c +word +.Ed diff --git a/regress/roff/esc/c.out_ascii b/regress/roff/esc/c.out_ascii new file mode 100644 index 00000000..5ddc8443 --- /dev/null +++ b/regress/roff/esc/c.out_ascii @@ -0,0 +1,11 @@ +ESC-C(1) General Commands Manual ESC-C(1) + +NNAAMMEE + eesscc--cc - the roff escape c sequence: remove trailing space + +DDEESSCCRRIIPPTTIIOONN + No space between ``one'' and ``word'': oneword + + oneword + +OpenBSD December 2, 2014 OpenBSD diff --git a/regress/roff/esc/c_man.in b/regress/roff/esc/c_man.in new file mode 100644 index 00000000..c18fad10 --- /dev/null +++ b/regress/roff/esc/c_man.in @@ -0,0 +1,12 @@ +.TH ESC-C_MAN 1 "December 2, 2014" OpenBSD +.SH NAME +esc-c_man \- the roff escape c sequence: remove trailing space +.SH DESCRIPTION +No space between "one" and "word": +one\c +word +.nf +one\c +word +.fi +final text diff --git a/regress/roff/esc/c_man.out_ascii b/regress/roff/esc/c_man.out_ascii new file mode 100644 index 00000000..d00b1b48 --- /dev/null +++ b/regress/roff/esc/c_man.out_ascii @@ -0,0 +1,15 @@ +ESC-C_MAN(1) General Commands Manual ESC-C_MAN(1) + + + +NNAAMMEE + esc-c_man - the roff escape c sequence: remove trailing space + +DDEESSCCRRIIPPTTIIOONN + No space between "one" and "word": oneword + oneword + final text + + + +OpenBSD December 2, 2014 ESC-C_MAN(1) diff --git a/regress/roff/esc/e.in b/regress/roff/esc/e.in new file mode 100644 index 00000000..c0f87692 --- /dev/null +++ b/regress/roff/esc/e.in @@ -0,0 +1,19 @@ +.Dd December 3, 2014 +.Dt ESC-E 1 +.Os OpenBSD +.Sh NAME +.Nm esc-e +.Nd escaping backslashes +.Sh DESCRIPTION +In plain text: "\e" and "\\" +.Pp +On macro lines: +.Qq \e(at +and +.Qq \\(at +.Pp +In a macro definition: +.de mytest +"\e$1" and "\\$2" +.. +.mytest one two diff --git a/regress/roff/esc/e.out_ascii b/regress/roff/esc/e.out_ascii new file mode 100644 index 00000000..75665168 --- /dev/null +++ b/regress/roff/esc/e.out_ascii @@ -0,0 +1,13 @@ +ESC-E(1) General Commands Manual ESC-E(1) + +NNAAMMEE + eesscc--ee - escaping backslashes + +DDEESSCCRRIIPPTTIIOONN + In plain text: "\" and "\" + + On macro lines: "\(at" and "@" + + In a macro definition: "\$1" and "two" + +OpenBSD December 3, 2014 OpenBSD diff --git a/regress/roff/esc/f.in b/regress/roff/esc/f.in new file mode 100644 index 00000000..a909ac8a --- /dev/null +++ b/regress/roff/esc/f.in @@ -0,0 +1,12 @@ +.Dd August 7, 2013 +.Dt ESC-F 1 +.Os OpenBSD +.Sh NAME +.Nm esc-f +.Nd the roff escape f sequence: font changes +.Sh DESCRIPTION +numbers: \f3bold\f2italic\f1roman +.br +letters: \fBbold\fIitalic\fPback\f(BIbolditalic\fRroman +.br +multiletter: \f[B]bold\f[I]italic\f[P]back\f[BI]bolditalic\f[R]roman diff --git a/regress/roff/esc/f.out_ascii b/regress/roff/esc/f.out_ascii new file mode 100644 index 00000000..5ecd6993 --- /dev/null +++ b/regress/roff/esc/f.out_ascii @@ -0,0 +1,11 @@ +ESC-F(1) General Commands Manual ESC-F(1) + +NNAAMMEE + eesscc--ff - the roff escape f sequence: font changes + +DDEESSCCRRIIPPTTIIOONN + numbers: bboolldd_i_t_a_l_i_croman + letters: bboolldd_i_t_a_l_i_cbbaacckk_bb_oo_ll_dd_ii_tt_aa_ll_ii_ccroman + multiletter: bboolldd_i_t_a_l_i_cbbaacckk_bb_oo_ll_dd_ii_tt_aa_ll_ii_ccroman + +OpenBSD August 7, 2013 OpenBSD diff --git a/regress/roff/esc/h.in b/regress/roff/esc/h.in new file mode 100644 index 00000000..31fbb4e2 --- /dev/null +++ b/regress/roff/esc/h.in @@ -0,0 +1,18 @@ +.Dd May 28, 2012 +.Dt ESC-H 1 +.Os OpenBSD +.Sh NAME +.Nm esc-h +.Nd the roff escape h sequence: horizontal movement +.Sh DESCRIPTION +simple: >\h'0'< +.br +escape only: >\h'\w'\&''< +.br +escape at the end: >\h'0+\w'\&''< +.br +escape at the beginning: >\h'\w'\&'+0'< +.br +escape in the middle: >\h'0+\w'\&'+0'< +.br +invalid delimiter: >\h-< diff --git a/regress/roff/esc/h.out_ascii b/regress/roff/esc/h.out_ascii new file mode 100644 index 00000000..858dcf32 --- /dev/null +++ b/regress/roff/esc/h.out_ascii @@ -0,0 +1,14 @@ +ESC-H(1) General Commands Manual ESC-H(1) + +NNAAMMEE + eesscc--hh - the roff escape h sequence: horizontal movement + +DDEESSCCRRIIPPTTIIOONN + simple: >< + escape only: >< + escape at the end: >< + escape at the beginning: >< + escape in the middle: >< + invalid delimiter: >< + +OpenBSD May 28, 2012 OpenBSD diff --git a/regress/roff/esc/h.out_lint b/regress/roff/esc/h.out_lint new file mode 100644 index 00000000..6d591e38 --- /dev/null +++ b/regress/roff/esc/h.out_lint @@ -0,0 +1 @@ +mandoc: h.in:18:21: WARNING: invalid escape sequence: \h- diff --git a/regress/roff/esc/ignore.in b/regress/roff/esc/ignore.in new file mode 100644 index 00000000..4be7fb6c --- /dev/null +++ b/regress/roff/esc/ignore.in @@ -0,0 +1,14 @@ +.Dd January 1, 2015 +.Dt ESC-IGNORE 1 +.Os OpenBSD +.Sh NAME +.Nm esc-ignore +.Nd ignored roff escape sequences +.Sh DESCRIPTION +multiform: a\kxb\k(xyc\k[xyz]d +.br +quoted: a\R'myreg 0'b\R'myreg \A'y'0'c +.br +sizes: a\s0b\s(12c\s[123]d\s'123'e\s'1\w'xy'2'f +.br +signed sizes: a\s-0b\s-(12c\s-[123]d\s-'123'e\s-'1\w'xy'2'f\s- diff --git a/regress/roff/esc/ignore.out_ascii b/regress/roff/esc/ignore.out_ascii new file mode 100644 index 00000000..5e41d49a --- /dev/null +++ b/regress/roff/esc/ignore.out_ascii @@ -0,0 +1,12 @@ +ESC-IGNORE(1) General Commands Manual ESC-IGNORE(1) + +NNAAMMEE + eesscc--iiggnnoorree - ignored roff escape sequences + +DDEESSCCRRIIPPTTIIOONN + multiform: abcd + quoted: abc + sizes: abcdef + signed sizes: abcdef + +OpenBSD January 1, 2015 OpenBSD diff --git a/regress/roff/esc/ignore.out_lint b/regress/roff/esc/ignore.out_lint new file mode 100644 index 00000000..c163d60d --- /dev/null +++ b/regress/roff/esc/ignore.out_lint @@ -0,0 +1 @@ +mandoc: ignore.in:14:60: WARNING: invalid escape sequence: \s- diff --git a/regress/roff/esc/multi.in b/regress/roff/esc/multi.in new file mode 100644 index 00000000..a2a76db1 --- /dev/null +++ b/regress/roff/esc/multi.in @@ -0,0 +1,10 @@ +.Dd May 28, 2012 +.Dt ESC-MULTI 1 +.Os OpenBSD +.Sh NAME +.Nm esc-multi +.Nd roff multi-character escape sequences +.Sh DESCRIPTION +\[tno] \[t+-] \[tmu] \[tdi] \[12] \[14] \[34] +.br +\C'tno' \C't+-' \C'tmu' \C'tdi' \C'12' \C'14' \C'34' diff --git a/regress/roff/esc/multi.out_ascii b/regress/roff/esc/multi.out_ascii new file mode 100644 index 00000000..a7b64602 --- /dev/null +++ b/regress/roff/esc/multi.out_ascii @@ -0,0 +1,10 @@ +ESC-MULTI(1) General Commands Manual ESC-MULTI(1) + +NNAAMMEE + eesscc--mmuullttii - roff multi-character escape sequences + +DDEESSCCRRIIPPTTIIOONN + ~ +- x -:- 1/2 1/4 3/4 + ~ +- x -:- 1/2 1/4 3/4 + +OpenBSD May 28, 2012 OpenBSD diff --git a/regress/roff/esc/o.in b/regress/roff/esc/o.in new file mode 100644 index 00000000..2976a9d8 --- /dev/null +++ b/regress/roff/esc/o.in @@ -0,0 +1,18 @@ +.Dd January 21, 2015 +.Dt ESC-O 1 +.Os OpenBSD +.Sh NAME +.Nm esc-o +.Nd the roff escape o sequence: overstrike +.Sh DESCRIPTION +empty: x\o''x +.br +one character: x\o'|'x +.br +wide/narrow: x\o'O|'x +.br +narrow/wide: x\o'|O'x +.br +wide/narrow/narrow: x\o'O-|'x +.br +narrow/narrow/wide: x\o'|-O'x diff --git a/regress/roff/esc/o.out_ascii b/regress/roff/esc/o.out_ascii new file mode 100644 index 00000000..39dc1b1c --- /dev/null +++ b/regress/roff/esc/o.out_ascii @@ -0,0 +1,14 @@ +ESC-O(1) General Commands Manual ESC-O(1) + +NNAAMMEE + eesscc--oo - the roff escape o sequence: overstrike + +DDEESSCCRRIIPPTTIIOONN + empty: xx + one character: x|x + wide/narrow: xO|x + narrow/wide: x|Ox + wide/narrow/narrow: xO-|x + narrow/narrow/wide: x|-Ox + +OpenBSD January 21, 2015 OpenBSD diff --git a/regress/roff/esc/one.in b/regress/roff/esc/one.in new file mode 100644 index 00000000..4d416d2a --- /dev/null +++ b/regress/roff/esc/one.in @@ -0,0 +1,16 @@ +.Dd October 27, 2014 +.Dt ESC-ONE 1 +.Os OpenBSD +.Sh NAME +.Nm esc-one +.Nd roff one-character escape sequences +.Sh DESCRIPTION +backslash: >\e< +.br +minus: >\-< +.br +acute: >\'< +.br +grave: >\`< +.br +normal character: >\q< diff --git a/regress/roff/esc/one.out_ascii b/regress/roff/esc/one.out_ascii new file mode 100644 index 00000000..1324e038 --- /dev/null +++ b/regress/roff/esc/one.out_ascii @@ -0,0 +1,13 @@ +ESC-ONE(1) General Commands Manual ESC-ONE(1) + +NNAAMMEE + eesscc--oonnee - roff one-character escape sequences + +DDEESSCCRRIIPPTTIIOONN + backslash: >\< + minus: >-< + acute: >'< + grave: >`< + normal character: >q< + +OpenBSD October 27, 2014 OpenBSD diff --git a/regress/roff/esc/two.in b/regress/roff/esc/two.in new file mode 100644 index 00000000..c6ac3eee --- /dev/null +++ b/regress/roff/esc/two.in @@ -0,0 +1,75 @@ +.Dd October 28, 2014 +.Dt ESC-TWO 1 +.Os OpenBSD +.Sh NAME +.Nm esc-two +.Nd roff two-character escape sequences +.Sh DESCRIPTION +lines: \(ba \(br \(ul \(bb \(sl \(rs +.\" groff doesn't know \(rl +.br +markers: \(bu \(lz \(sq \(lh \(rh \(at \(sh \(CR +.\" the circle \(ci differs +.\" the daggers \(dd and \(dg use backspace +.\" \(ps and \(sc intentionally differ +.\" groff doesn't know \(OK +.br +legal: \(co \(rg \(tm +.br +punctuation: \(em \(en \(hy +.\" the inverted punctuation is intentionally different +.br +quotes: \(Bq \(bq \(oq \(cq \(aq \(dq \(Fo \(Fc \(fo \(fc +.\" the double quotes \(lq and \(rq differ +.br +brackets: \(lB \(rB \(lC \(rC \(la \(ra \(bv \(lt \(lk \(rt \(rk \(rb +.\" the left bottom \(lb differs +.br +arrows: \(<- \(-> \(lA \(rA \(hA +.\" the left-right arrow \(<> differs +.\" groff doesn't know \(va and \(vA +.\" the vertical arrows \(da, \(ua, \(uA, \(dA use backspace +.br +logical: \(AN \(OR \(no \(te \(st \(tf \(3d \(or +.\" the universal quantifier \(fa uses backspace +.br +mathematical: \(pl \(mi \(-+ \(+- \(pc \(mu \(di \(f/ \(** +\(<= \(>= \(<< \(>> \(eq \(!= \(== \(ne \(=~ \(ap \(~~ \(~= \(pt +\(es \(mo \(sb \(sp \(ca \(cu +\(sr \(lc \(rc \(lf \(rf \(if \(Ah \(Im \(Re \(pd +.\" groff doesn't know \(-~, \(nb, \(nc, \(-h +.\" these differ: \(nm \(ib \(ip \(/_ \(pp \(gr +.\" these use backspace: \(c* \(c+ \(is +.br +ligatures: \(ff \(fi \(fl \(Fi \(Fl \(AE \(ae \(OE \(oe \(IJ \(ij +.\" the German eszett \(ss differs +.br +accents: \(a" \(a^ \(aa \(ga \(ab \(ac \(ad \(ah \(ao \(a~ \(ho \(ha \(ti +.\" the macron \(a- differs +.\" groff doesn't know \(a. +.br +accented and special letters: +\('A \('E \('I \('O \('U \('a \('e \('i \('o \('u +\(`A \(`E \(`I \(`O \(`U \(`a \(`e \(`i \(`o \(`u +\(~A \(~N \(~O \(~a \(~n \(~o +\(:A \(:E \(:I \(:O \(:U \(:a \(:e \(:i \(:o \(:u \(:y +\(^A \(^E \(^I \(^O \(^U \(^a \(^e \(^i \(^o \(^u +\(,C \(,c \(/L \(/l \(/O \(/o \(oA \(oa \(-D \(.i +.\" these intentionally differ: \(Sd \(TP \(Tp +.\" groff doesn't know \(.j +.br +currency: \(Do \(ct \(Eu \(eu \(Ye \(Fo +.\" uses backspace: \(Cs +.\" the GB pound \(Po is intentionally different +.br +units: \(fm \(mc +.\" groff doesn't know \(%O +.\" \(sd differs +.\" \(de is intentionally different +.br +greek letters: \(*A \(*B \*D \(*E \(*Z \(*Y \*H \(*I \(*K \(*L +\(*M \(*N \*C \(*O \(*P \(*R \(*T \(*U \*F \(*X \(*Q \(*W +\(*a \(*b \(*g \(*d \(*e \(*z \(*y \(*h \(*i \(*k \(*l +\(*m \(*n \(*c \(*o \(*p \(*r \(*s \(*t \(*u \(*f \(*x \(*q \(*w +\(+h \(+f \+p \(+e \(ts +.\" these differ: \(*G \(*S diff --git a/regress/roff/esc/two.out_ascii b/regress/roff/esc/two.out_ascii new file mode 100644 index 00000000..238adffa --- /dev/null +++ b/regress/roff/esc/two.out_ascii @@ -0,0 +1,26 @@ +ESC-TWO(1) General Commands Manual ESC-TWO(1) + +NNAAMMEE + eesscc--ttwwoo - roff two-character escape sequences + +DDEESSCCRRIIPPTTIIOONN + lines: | | _ | / \ + markers: +o <> [] <= => @ # _| + legal: (C) (R) tm + punctuation: -- - - + quotes: ,, , ` ' ' " << >> < > + brackets: [ ] { } < > | ,- { -. } -' + arrows: <- -> <= => <=> + logical: ^ v ~ 3 -) .:. .:. | + mathematical: + - -+ +- . x -:- / * <= >= << >> = != == !== =~ ~ ~~ ~= oc + {} E (= =) (^) U \/ |~ ~| |_ _| oo N I R a + ligatures: ff fi fl ffi ffl AE ae OE oe IJ ij + accents: " ^ ' ` '` , " v o ~ , ^ ~ + accented and special letters: 'A 'E 'I 'O 'U 'a 'e 'i 'o 'u `A `E `I `O `U `a `e `i `o `u ~A ~N + ~O ~a ~n ~o "A "E "I "O "U "a "e "i "o "u "y ^A ^E ^I ^O ^U ^a ^e ^i ^o ^u ,C ,c /L /l /O /o oA oa -D i + currency: $ /c EUR EUR =Y << + units: ' ,u + greek letters: A B E Z H I K /\ M N O TT P T Y X IY _O a B y d e ,C n -0 + i k >\ ,u v ,E o -n p -o ~t u |o x |u w -0 |o +p e s + +OpenBSD October 28, 2014 OpenBSD diff --git a/regress/roff/esc/w.in b/regress/roff/esc/w.in new file mode 100644 index 00000000..4a9e79f8 --- /dev/null +++ b/regress/roff/esc/w.in @@ -0,0 +1,16 @@ +.Dd April 8, 2014 +.Dt ESC-W 1 +.Os OpenBSD +.Sh NAME +.Nm esc-w +.Nd the roff escape w sequence: text width +.Sh DESCRIPTION +empty: \w'' +.br +character: \w'n' +.br +blank: \w' ' +.br +text: \w'text' +.br +unterminated: \w'foo diff --git a/regress/roff/esc/w.out_ascii b/regress/roff/esc/w.out_ascii new file mode 100644 index 00000000..1d44a2e0 --- /dev/null +++ b/regress/roff/esc/w.out_ascii @@ -0,0 +1,13 @@ +ESC-W(1) General Commands Manual ESC-W(1) + +NNAAMMEE + eesscc--ww - the roff escape w sequence: text width + +DDEESSCCRRIIPPTTIIOONN + empty: 0 + character: 24 + blank: 24 + text: 96 + unterminated: 72 + +OpenBSD April 8, 2014 OpenBSD diff --git a/regress/roff/esc/w.out_lint b/regress/roff/esc/w.out_lint new file mode 100644 index 00000000..a1b91722 --- /dev/null +++ b/regress/roff/esc/w.out_lint @@ -0,0 +1 @@ +mandoc: w.in:16:15: WARNING: invalid escape sequence: \w'foo diff --git a/regress/roff/esc/z.in b/regress/roff/esc/z.in new file mode 100644 index 00000000..9d3ad1d5 --- /dev/null +++ b/regress/roff/esc/z.in @@ -0,0 +1,24 @@ +.Dd April 29, 2015 +.Dt ESC-Z 1 +.Os OpenBSD +.Sh NAME +.Nm esc-z +.Nd the roff escape z sequence +.Sh DESCRIPTION +single z with ASCII char: >\zx< +.br +single z with escape char: >\z\(ci< +.br +.ds mystr mytext +single z with defined string (\*[mystr]): >\z\*[mystr]< +.br +single z with font escape: >\z\fBxbold\fP< +.br +single z with nospace escape: >\z\c +new line< +.br +single z with overstrike: >\z\o'ab'c< +.br +single z near the end of the line: >\z< +.br +double z: >\z\zx< diff --git a/regress/roff/esc/z.out_ascii b/regress/roff/esc/z.out_ascii new file mode 100644 index 00000000..233a4aa5 --- /dev/null +++ b/regress/roff/esc/z.out_ascii @@ -0,0 +1,16 @@ +ESC-Z(1) General Commands Manual ESC-Z(1) + +NNAAMMEE + eesscc--zz - the roff escape z sequence + +DDEESSCCRRIIPPTTIIOONN + single z with ASCII char: >x< + single z with escape char: >O< + single z with defined string (mytext): >mytext< + single z with font escape: >xxbboolldd< + single z with nospace escape: > new line< + single z with overstrike: >abc< + single z near the end of the line: >< + double z: >x< + +OpenBSD April 29, 2015 OpenBSD diff --git a/regress/roff/ft/Makefile b/regress/roff/ft/Makefile new file mode 100644 index 00000000..f57fe72b --- /dev/null +++ b/regress/roff/ft/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.1 2014/07/05 12:33:54 schwarze Exp $ + +REGRESS_TARGETS = badargs +LINT_TARGETS = badargs + +.include diff --git a/regress/roff/ft/badargs.in b/regress/roff/ft/badargs.in new file mode 100644 index 00000000..2cb01b20 --- /dev/null +++ b/regress/roff/ft/badargs.in @@ -0,0 +1,15 @@ +.TH "FT-BADARGS" 1 "July 5, 2014" OpenBSD +.SH NAME +ft-badargs \(en font request with bad arguments +.SH DESCRIPTION +default font +.ft B +bold +.ft foo +still bold +.ft I bogus +italic +.ft P +back to bold +.ft +back to italic diff --git a/regress/roff/ft/badargs.out_ascii b/regress/roff/ft/badargs.out_ascii new file mode 100644 index 00000000..30bfed3c --- /dev/null +++ b/regress/roff/ft/badargs.out_ascii @@ -0,0 +1,13 @@ +FT-BADARGS(1) General Commands Manual FT-BADARGS(1) + + + +NNAAMMEE + ft-badargs - font request with bad arguments + +DDEESSCCRRIIPPTTIIOONN + default font bboolldd ssttiillll bboolldd _i_t_a_l_i_c bbaacckk ttoo bboolldd _b_a_c_k _t_o _i_t_a_l_i_c + + + +OpenBSD July 5, 2014 FT-BADARGS(1) diff --git a/regress/roff/ft/badargs.out_lint b/regress/roff/ft/badargs.out_lint new file mode 100644 index 00000000..f84d7ea9 --- /dev/null +++ b/regress/roff/ft/badargs.out_lint @@ -0,0 +1,2 @@ +mandoc: badargs.in:10:7: ERROR: skipping excess arguments: ft ... bogus +mandoc: badargs.in:8:2: WARNING: unknown font, skipping request: ft foo diff --git a/regress/roff/ig/Makefile b/regress/roff/ig/Makefile new file mode 100644 index 00000000..93e5e41e --- /dev/null +++ b/regress/roff/ig/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.1 2014/07/07 11:34:41 schwarze Exp $ + +REGRESS_TARGETS = basic +LINT_TARGETS = basic + +.include diff --git a/regress/roff/ig/basic.in b/regress/roff/ig/basic.in new file mode 100644 index 00000000..7e898832 --- /dev/null +++ b/regress/roff/ig/basic.in @@ -0,0 +1,27 @@ +.Dd July 7, 2014 +.Dt IG-BASIC 1 +.Os OpenBSD +.Sh NAME +.Nm ig-basic +.Nd ignored blocks +.Sh DESCRIPTION +no arguments +.ig +ignored text +.. +.br +with end marker +.ig end1 +ignored text +.end1 +.br +with two arguments +.ig end2 excess +ignored text +.end2 +.br +Here is a stray .. block ending, +.. +and then an .ig staying open until the end of the file: +.ig +ignored text diff --git a/regress/roff/ig/basic.out_ascii b/regress/roff/ig/basic.out_ascii new file mode 100644 index 00000000..d100617a --- /dev/null +++ b/regress/roff/ig/basic.out_ascii @@ -0,0 +1,13 @@ +IG-BASIC(1) General Commands Manual IG-BASIC(1) + +NNAAMMEE + iigg--bbaassiicc - ignored blocks + +DDEESSCCRRIIPPTTIIOONN + no arguments + with end marker + with two arguments + Here is a stray .. block ending, and then an .ig staying open until the + end of the file: + +OpenBSD July 7, 2014 OpenBSD diff --git a/regress/roff/ig/basic.out_lint b/regress/roff/ig/basic.out_lint new file mode 100644 index 00000000..2b03b9cf --- /dev/null +++ b/regress/roff/ig/basic.out_lint @@ -0,0 +1,3 @@ +mandoc: basic.in:19:5: ERROR: skipping excess arguments: .ig ... excess +mandoc: basic.in:24:1: ERROR: skipping end of block that is not open: .. +mandoc: basic.in:26:1: ERROR: appending missing end of block: ig diff --git a/regress/roff/it/Makefile b/regress/roff/it/Makefile new file mode 100644 index 00000000..ec03f94c --- /dev/null +++ b/regress/roff/it/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.2 2014/08/14 02:00:53 schwarze Exp $ + +REGRESS_TARGETS = badarg double text +LINT_TARGETS = badarg + +.include diff --git a/regress/roff/it/badarg.in b/regress/roff/it/badarg.in new file mode 100644 index 00000000..78c2893c --- /dev/null +++ b/regress/roff/it/badarg.in @@ -0,0 +1,17 @@ +.Dd July 30, 2014 +.Dt IT-BADARG 1 +.Os OpenBSD +.Sh NAME +.Nm it-badarg +.Nd input line traps without numeric arguments +.Sh DESCRIPTION +.de mytrap +traptext +.. +line 1 +.it mytrap +line 2 +line 3 +.it +line 4 +line 5 diff --git a/regress/roff/it/badarg.out_ascii b/regress/roff/it/badarg.out_ascii new file mode 100644 index 00000000..d4d2bc63 --- /dev/null +++ b/regress/roff/it/badarg.out_ascii @@ -0,0 +1,9 @@ +IT-BADARG(1) General Commands Manual IT-BADARG(1) + +NNAAMMEE + iitt--bbaaddaarrgg - input line traps without numeric arguments + +DDEESSCCRRIIPPTTIIOONN + line 1 line 2 line 3 line 4 line 5 + +OpenBSD July 30, 2014 OpenBSD diff --git a/regress/roff/it/badarg.out_lint b/regress/roff/it/badarg.out_lint new file mode 100644 index 00000000..d2d4edb3 --- /dev/null +++ b/regress/roff/it/badarg.out_lint @@ -0,0 +1,2 @@ +mandoc: badarg.in:12:1: ERROR: skipping request without numeric argument: it mytrap +mandoc: badarg.in:15:1: ERROR: skipping request without numeric argument: it diff --git a/regress/roff/it/double.in b/regress/roff/it/double.in new file mode 100644 index 00000000..d0a93e1e --- /dev/null +++ b/regress/roff/it/double.in @@ -0,0 +1,16 @@ +.TH IT-DOUBLE 1 2013-07-13 OpenBSD +.SH NAME +it-double \- double input line trap +.SH DESCRIPTION +.de firstmacro +firstmacro +.. +.de secondmacro +secondmacro +.. +initial text +.it 1 firstmacro +.it 2 secondmacro +first line +second line +third line diff --git a/regress/roff/it/double.out_ascii b/regress/roff/it/double.out_ascii new file mode 100644 index 00000000..d4704b36 --- /dev/null +++ b/regress/roff/it/double.out_ascii @@ -0,0 +1,13 @@ +IT-DOUBLE(1) General Commands Manual IT-DOUBLE(1) + + + +NNAAMMEE + it-double - double input line trap + +DDEESSCCRRIIPPTTIIOONN + initial text first line second line secondmacro third line + + + +OpenBSD 2013-07-13 IT-DOUBLE(1) diff --git a/regress/roff/it/text.in b/regress/roff/it/text.in new file mode 100644 index 00000000..b3384180 --- /dev/null +++ b/regress/roff/it/text.in @@ -0,0 +1,27 @@ +.Dd February 17, 2015 +.Dt IT-TEXT 1 +.Os OpenBSD +.Sh NAME +.Nm it-text +.Nd what an input line trap counts as text +.Sh DESCRIPTION +.de trap +traptext +.. +initial text +.it 1trap +first line after 1trap +second line after 1trap +.Pp +.it 1vtrap +first line after 1vtrap +second line after 1vtrap +.Pp +.it ( + 1c + 1i)trap +first line after ( + 1c + 1i)trap +second line after ( + 1c + 1i)trap +third line after ( + 1c + 1i)trap +.it 1 trap +.Pp +first line after .Pp +second line after .Pp diff --git a/regress/roff/it/text.out_ascii b/regress/roff/it/text.out_ascii new file mode 100644 index 00000000..bfc89842 --- /dev/null +++ b/regress/roff/it/text.out_ascii @@ -0,0 +1,16 @@ +IT-TEXT(1) General Commands Manual IT-TEXT(1) + +NNAAMMEE + iitt--tteexxtt - what an input line trap counts as text + +DDEESSCCRRIIPPTTIIOONN + initial text first line after 1trap traptext second line after 1trap + + first line after 1vtrap traptext second line after 1vtrap + + first line after ( + 1c + 1i)trap second line after ( + 1c + 1i)trap + traptext third line after ( + 1c + 1i)trap + + first line after .Pp traptext second line after .Pp + +OpenBSD February 17, 2015 OpenBSD diff --git a/regress/roff/ll/Makefile b/regress/roff/ll/Makefile new file mode 100644 index 00000000..c8c99b9c --- /dev/null +++ b/regress/roff/ll/Makefile @@ -0,0 +1,7 @@ +# $OpenBSD: Makefile,v 1.1 2014/03/30 19:47:32 schwarze Exp $ + +REGRESS_TARGETS = basic + +SKIP_TMAN = + +.include diff --git a/regress/roff/ll/basic.in b/regress/roff/ll/basic.in new file mode 100644 index 00000000..9f03a517 --- /dev/null +++ b/regress/roff/ll/basic.in @@ -0,0 +1,25 @@ +.Dd February 5, 2014 +.Dt LL-BASIC 1 +.Os OpenBSD +.Sh NAME +.Nm ll-basic +.Nd changing the line length +.Sh DESCRIPTION +This is a longer text to demonstrate the default line length. +In ASCII mode, it is expected to break at column 78. +.Pp +.ll 38n +This is another long text to demonstrate shorter lines. +In ASCII mode, it is expected to break at column 38. +.Pp +.ll +This is a longer text after switching back to the default line length. +In ASCII mode, it is expected to break at column 78. +.Pp +.ll +100n +This is another long text to demonstrate longer lines. +In ASCII mode, it is not expected to break at all. +.Pp +.ll FOO +This is a longer text after switching to an invalid line length. +In ASCII mode, it is expected to break at column 78. diff --git a/regress/roff/ll/basic.out_ascii b/regress/roff/ll/basic.out_ascii new file mode 100644 index 00000000..b5448e24 --- /dev/null +++ b/regress/roff/ll/basic.out_ascii @@ -0,0 +1,23 @@ +LL-BASIC(1) General Commands Manual LL-BASIC(1) + +NNAAMMEE + llll--bbaassiicc - changing the line length + +DDEESSCCRRIIPPTTIIOONN + This is a longer text to demonstrate the default line length. In ASCII + mode, it is expected to break at column 78. + + This is another long text to + demonstrate shorter lines. In + ASCII mode, it is expected to + break at column 38. + + This is a longer text after switching back to the default line length. + In ASCII mode, it is expected to break at column 78. + + This is another long text to demonstrate longer lines. In ASCII mode, it is not expected to break at all. + + This is a longer text after switching to an invalid line length. In + ASCII mode, it is expected to break at column 78. + +OpenBSD February 5, 2014 OpenBSD diff --git a/regress/roff/na/Makefile b/regress/roff/na/Makefile new file mode 100644 index 00000000..1d2da255 --- /dev/null +++ b/regress/roff/na/Makefile @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile,v 1.2 2011/11/17 16:28:46 schwarze Exp $ + +REGRESS_TARGETS=args + +.include diff --git a/regress/roff/na/args.in b/regress/roff/na/args.in new file mode 100644 index 00000000..850c8dc7 --- /dev/null +++ b/regress/roff/na/args.in @@ -0,0 +1,9 @@ +.TH NA-ARGS 1 "January 17, 2011" OpenBSD +.SH NAME +na-args \- arguments to .na macros +.SH DESCRIPTION +some +text +.na arg1 arg2 arg3 +more +text diff --git a/regress/roff/na/args.out_ascii b/regress/roff/na/args.out_ascii new file mode 100644 index 00000000..e10a3ae1 --- /dev/null +++ b/regress/roff/na/args.out_ascii @@ -0,0 +1,13 @@ +NA-ARGS(1) General Commands Manual NA-ARGS(1) + + + +NNAAMMEE + na-args - arguments to .na macros + +DDEESSCCRRIIPPTTIIOONN + some text more text + + + +OpenBSD January 17, 2011 NA-ARGS(1) diff --git a/regress/roff/nr/Makefile b/regress/roff/nr/Makefile new file mode 100644 index 00000000..8da68878 --- /dev/null +++ b/regress/roff/nr/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.9 2015/01/23 00:38:43 schwarze Exp $ + +REGRESS_TARGETS = argc divzero eval escname int predef rr scale +LINT_TARGETS = divzero escname + +.include diff --git a/regress/roff/nr/argc.in b/regress/roff/nr/argc.in new file mode 100644 index 00000000..bf204a70 --- /dev/null +++ b/regress/roff/nr/argc.in @@ -0,0 +1,21 @@ +.Dd December 15, 2013 +.Dt NR-ARGC 1 +.Os OpenBSD +.Sh NAME +.Nm nr-argc +.Nd varying number of arguments to the .nr macro +.Sh DESCRIPTION +.nr onearg +one argument: \n[onearg] +.Pp +.nr twoargs 2 +two arguments: \n[twoargs] +.Pp +.nr withsuffix 2x +with suffix: \n[withsuffix] +.Pp +.nr threeargs 2 3 +three arguments: \n[threeargs] +.Pp +.nr fourargs 2 3 4 +four arguments: \n[fourargs] diff --git a/regress/roff/nr/argc.out_ascii b/regress/roff/nr/argc.out_ascii new file mode 100644 index 00000000..80d3d0f1 --- /dev/null +++ b/regress/roff/nr/argc.out_ascii @@ -0,0 +1,17 @@ +NR-ARGC(1) General Commands Manual NR-ARGC(1) + +NNAAMMEE + nnrr--aarrggcc - varying number of arguments to the .nr macro + +DDEESSCCRRIIPPTTIIOONN + one argument: 0 + + two arguments: 2 + + with suffix: 2 + + three arguments: 2 + + four arguments: 2 + +OpenBSD December 15, 2013 OpenBSD diff --git a/regress/roff/nr/divzero.in b/regress/roff/nr/divzero.in new file mode 100644 index 00000000..8f776bf3 --- /dev/null +++ b/regress/roff/nr/divzero.in @@ -0,0 +1,8 @@ +.TH NR-DIVZERO 1 "December 18, 2014" OpenBSD +.SH NAME +nr-divzero \- division by zero in numerical expression +.SH DESCRIPTION +initial text +.nr divresult 1/0 +.nr modresult 1%0 +final \n[divresult] \n[modresult] text diff --git a/regress/roff/nr/divzero.out_ascii b/regress/roff/nr/divzero.out_ascii new file mode 100644 index 00000000..26d93c26 --- /dev/null +++ b/regress/roff/nr/divzero.out_ascii @@ -0,0 +1,13 @@ +NR-DIVZERO(1) General Commands Manual NR-DIVZERO(1) + + + +NNAAMMEE + nr-divzero - division by zero in numerical expression + +DDEESSCCRRIIPPTTIIOONN + initial text final 0 0 text + + + +OpenBSD December 18, 2014 NR-DIVZERO(1) diff --git a/regress/roff/nr/divzero.out_lint b/regress/roff/nr/divzero.out_lint new file mode 100644 index 00000000..8177c0b8 --- /dev/null +++ b/regress/roff/nr/divzero.out_lint @@ -0,0 +1,2 @@ +mandoc: divzero.in:6:4: ERROR: divide by zero: 1/0 +mandoc: divzero.in:7:4: ERROR: divide by zero: 1%0 diff --git a/regress/roff/nr/escname.in b/regress/roff/nr/escname.in new file mode 100644 index 00000000..20454568 --- /dev/null +++ b/regress/roff/nr/escname.in @@ -0,0 +1,17 @@ +.TH NR-ESCNAME 1 "June 29, 2014" OpenBSD +.SH NAME +nr-escname \- escape sequences in register names +.SH DESCRIPTION +.nr first 1 +.nr second 2 +.nr first\\second 3 +.nr first\esecond 4 +\n[first] \n[second] \n[first\\second] +.PP +.rr first\esecond +\n[first] \n[second] \n[first\\second] +.PP +.rr first\\second +\n[first] \n[second] \n[first\\second] +.PP +incomplete: \n[second diff --git a/regress/roff/nr/escname.out_ascii b/regress/roff/nr/escname.out_ascii new file mode 100644 index 00000000..fd970a14 --- /dev/null +++ b/regress/roff/nr/escname.out_ascii @@ -0,0 +1,19 @@ +NR-ESCNAME(1) General Commands Manual NR-ESCNAME(1) + + + +NNAAMMEE + nr-escname - escape sequences in register names + +DDEESSCCRRIIPPTTIIOONN + 1 2 3 + + 0 2 3 + + 0 2 0 + + incomplete: + + + +OpenBSD June 29, 2014 NR-ESCNAME(1) diff --git a/regress/roff/nr/escname.out_lint b/regress/roff/nr/escname.out_lint new file mode 100644 index 00000000..66bfad35 --- /dev/null +++ b/regress/roff/nr/escname.out_lint @@ -0,0 +1,4 @@ +mandoc: escname.in:8:5: ERROR: escaped character not allowed in a name: first\e +mandoc: escname.in:11:5: ERROR: escaped character not allowed in a name: first\e +mandoc: escname.in:17:13: WARNING: invalid escape sequence: \n[second +mandoc: escname.in:17:12: WARNING: whitespace at end of input line diff --git a/regress/roff/nr/eval.in b/regress/roff/nr/eval.in new file mode 100644 index 00000000..16bf24e3 --- /dev/null +++ b/regress/roff/nr/eval.in @@ -0,0 +1,67 @@ +.TH NR-EVAL 1 "April 7, 2014" OpenBSD +.SH NAME +nr-eval \- numeric expressions in assignments to number registers +.SH DESCRIPTION +.nr mr 1 +1: \n(mr +.br +.nr mr nonumber +nonumber: \n(mr +.br +.nr mr 3X +3X: \n(mr +.br +.nr mr 4+ +4+: \n(mr +.br +.nr mr 2+3 +2+3: \n(mr +.br +.nr mr 1+1: +1+1:: \n(mr +.br +.nr mr 10-3 +10-3: \n(mr +.br +.nr mr 4*2 +4*2: \n(mr +.br +.nr mr 27/3 +27/3: \n(mr +.br +.nr mr 58%16 +58%16: \n(mr +.br +.nr mr 11?13 +7>?13: \n(mr +.br +.nr mr 14>?6 +14>?6: \n(mr +.br +.nr mr 2+3*3 +2+3*3: \n(mr +.br +.nr mr 16+( +para at eol: \n(mr +.br +.nr mr (17 +unclosed para: \n(mr +.br +.nr mr (18) +(18): \n(mr +.br +.nr mr ( 25 - 6 ) +( 25 - 6 ): \n(mr +.br +.nr mr 11+( 3*3 ) +11+( 3*3 ): \n(mr +.br +.nr mr 3+(3*(5==5*2)*4)+(3*5)/2 +3+(3*(5==5*2)*4)+(3*5)/2: \n(mr +.br diff --git a/regress/roff/nr/eval.out_ascii b/regress/roff/nr/eval.out_ascii new file mode 100644 index 00000000..5f4c767a --- /dev/null +++ b/regress/roff/nr/eval.out_ascii @@ -0,0 +1,33 @@ +NR-EVAL(1) General Commands Manual NR-EVAL(1) + + + +NNAAMMEE + nr-eval - numeric expressions in assignments to number registers + +DDEESSCCRRIIPPTTIIOONN + 1: 1 + nonumber: 1 + 3X: 3 + 4+: 3 + 2+3: 5 + 1+1:: 5 + 10-3: 7 + 4*2: 8 + 27/3: 9 + 58%16: 10 + 11?13: 13 + 14>?6: 14 + 2+3*3: 15 + para at eol: 15 + unclosed para: 17 + (18): 18 + ( 25 - 6 ): 19 + 11+( 3*3 ): 20 + 3+(3*(5==5*2)*4)+(3*5)/2: 21 + + + +OpenBSD April 7, 2014 NR-EVAL(1) diff --git a/regress/roff/nr/int.in b/regress/roff/nr/int.in new file mode 100644 index 00000000..3f907697 --- /dev/null +++ b/regress/roff/nr/int.in @@ -0,0 +1,15 @@ +.TH NR-INT 1 "October 3, 2013" OpenBSD +.SH NAME +nr-int \- integer number registers +.SH DESCRIPTION +initial contents: \nY \n(YY \n[YYY] +.br +.nr Y 42 +.nr YY -1 +.nr YYY 2147483647 +intermediate contents: \nY \n(YY \n[YYY] +.br +.nr Y -19 +.nr YY +2 +.nr YYY +1 +final contents: \nY \n(YY \n[YYY] diff --git a/regress/roff/nr/int.out_ascii b/regress/roff/nr/int.out_ascii new file mode 100644 index 00000000..8471386f --- /dev/null +++ b/regress/roff/nr/int.out_ascii @@ -0,0 +1,15 @@ +NR-INT(1) General Commands Manual NR-INT(1) + + + +NNAAMMEE + nr-int - integer number registers + +DDEESSCCRRIIPPTTIIOONN + initial contents: 0 0 0 + intermediate contents: 42 -1 2147483647 + final contents: 23 1 -2147483648 + + + +OpenBSD October 3, 2013 NR-INT(1) diff --git a/regress/roff/nr/predef.in b/regress/roff/nr/predef.in new file mode 100644 index 00000000..3610340d --- /dev/null +++ b/regress/roff/nr/predef.in @@ -0,0 +1,24 @@ +.TH NR-PREDEF 1 "August 29, 2015" OpenBSD +.SH NAME +nr-predef \- pre-defined read-only integer number registers +.SH DESCRIPTION +.de mym +user defined macro with \\n(.$ arguments: \\$* +.. +.nf +.nr .A 111 +.nr .g 111 +.nr .H 111 +.nr .j 111 +.nr .T 111 +.nr .V 111 +.nr .$ 111 +ascii mode: \n(.A +groff mode: \n(.g +horizontal resolution: \n(.H +adjustment mode: \n(.j +output device defined: \n(.T +vertical resolution: \n(.V +.mym +.mym one +.mym one two diff --git a/regress/roff/nr/predef.out_ascii b/regress/roff/nr/predef.out_ascii new file mode 100644 index 00000000..6973d296 --- /dev/null +++ b/regress/roff/nr/predef.out_ascii @@ -0,0 +1,21 @@ +NR-PREDEF(1) General Commands Manual NR-PREDEF(1) + + + +NNAAMMEE + nr-predef - pre-defined read-only integer number registers + +DDEESSCCRRIIPPTTIIOONN + ascii mode: 0 + groff mode: 1 + horizontal resolution: 24 + adjustment mode: 0 + output device defined: 1 + vertical resolution: 40 + user defined macro with 0 arguments: + user defined macro with 1 arguments: one + user defined macro with 2 arguments: one two + + + +OpenBSD August 29, 2015 NR-PREDEF(1) diff --git a/regress/roff/nr/rr.in b/regress/roff/nr/rr.in new file mode 100644 index 00000000..06ccdf64 --- /dev/null +++ b/regress/roff/nr/rr.in @@ -0,0 +1,15 @@ +.TH NR-RR 1 "April 5, 2014" OpenBSD +.SH NAME +nr-rr \- defining and undefining number registers +.SH DESCRIPTION +.nr key1 1 +.nr key2 2 +.nr key3 3 +.nr key4 4 +.nr key5 5 +.rr key1 +.rr key3 +.rr key5 +non-null values: \n[key2] \n[key4] +.br +unset values: \n[key1] \n[key3] \n[key5] diff --git a/regress/roff/nr/rr.out_ascii b/regress/roff/nr/rr.out_ascii new file mode 100644 index 00000000..21b50ee2 --- /dev/null +++ b/regress/roff/nr/rr.out_ascii @@ -0,0 +1,14 @@ +NR-RR(1) General Commands Manual NR-RR(1) + + + +NNAAMMEE + nr-rr - defining and undefining number registers + +DDEESSCCRRIIPPTTIIOONN + non-null values: 2 4 + unset values: 0 0 0 + + + +OpenBSD April 5, 2014 NR-RR(1) diff --git a/regress/roff/nr/scale.in b/regress/roff/nr/scale.in new file mode 100644 index 00000000..6f63c589 --- /dev/null +++ b/regress/roff/nr/scale.in @@ -0,0 +1,26 @@ +.TH NR-INT 1 "January 23, 2015" OpenBSD +.SH NAME +nr-scale \- scaling units in numeric expressions +.SH DESCRIPTION +.nr Y 1f+1 +\nY +.nr Y 1i+1 +\nY +.nr Y 10c+1 +\nY +.nr Y 1v+1 +\nY +.nr Y 1P+1 +\nY +.nr Y 1m+1 +\nY +.nr Y 1n+1 +\nY +.nr Y 10p+1 +\nY +.nr Y 1u+1 +\nY +.nr Y 100M+1 +\nY +.nr Y 1X+2 +\nY diff --git a/regress/roff/nr/scale.out_ascii b/regress/roff/nr/scale.out_ascii new file mode 100644 index 00000000..c6f79b2a --- /dev/null +++ b/regress/roff/nr/scale.out_ascii @@ -0,0 +1,13 @@ +NR-INT(1) General Commands Manual NR-INT(1) + + + +NNAAMMEE + nr-scale - scaling units in numeric expressions + +DDEESSCCRRIIPPTTIIOONN + 65537 241 945 41 41 25 25 34 2 25 1 + + + +OpenBSD January 23, 2015 NR-INT(1) diff --git a/regress/roff/ps/Makefile b/regress/roff/ps/Makefile new file mode 100644 index 00000000..24e50bbd --- /dev/null +++ b/regress/roff/ps/Makefile @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile,v 1.2 2011/11/17 16:28:46 schwarze Exp $ + +REGRESS_TARGETS=ignore + +.include diff --git a/regress/roff/ps/ignore.in b/regress/roff/ps/ignore.in new file mode 100644 index 00000000..439afda5 --- /dev/null +++ b/regress/roff/ps/ignore.in @@ -0,0 +1,9 @@ +.TH PS-IGNORE 1 "Febuary 5, 2011" OpenBSD +.SH NAME +ps-ignore \- ignoreing point size macros +.SH DESCRIPTION +normal text +.ps -1 +small text +.ps +1 +big text diff --git a/regress/roff/ps/ignore.out_ascii b/regress/roff/ps/ignore.out_ascii new file mode 100644 index 00000000..b1bfacac --- /dev/null +++ b/regress/roff/ps/ignore.out_ascii @@ -0,0 +1,13 @@ +PS-IGNORE(1) General Commands Manual PS-IGNORE(1) + + + +NNAAMMEE + ps-ignore - ignoreing point size macros + +DDEESSCCRRIIPPTTIIOONN + normal text small text big text + + + +OpenBSD Febuary 5, 2011 PS-IGNORE(1) diff --git a/regress/roff/rm/Makefile b/regress/roff/rm/Makefile new file mode 100644 index 00000000..14c74a60 --- /dev/null +++ b/regress/roff/rm/Makefile @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile,v 1.2 2011/11/17 16:28:46 schwarze Exp $ + +REGRESS_TARGETS=basic + +.include diff --git a/regress/roff/rm/basic.in b/regress/roff/rm/basic.in new file mode 100644 index 00000000..4e3e2650 --- /dev/null +++ b/regress/roff/rm/basic.in @@ -0,0 +1,19 @@ +.Dd January 11, 2011 +.Dt RM-BASIC 1 +.Os OpenBSD +.Sh NAME +.Nm rm-basic +.Nd the remove macro request +.Sh DESCRIPTION +.de mymacro +Hello +.. +.ds mystring world +before rm: +.mymacro +\*[mystring]! +.br +.rm mymacro mystring +after rm: +.mymacro +\*[mystring]! diff --git a/regress/roff/rm/basic.out_ascii b/regress/roff/rm/basic.out_ascii new file mode 100644 index 00000000..145b85d0 --- /dev/null +++ b/regress/roff/rm/basic.out_ascii @@ -0,0 +1,10 @@ +RM-BASIC(1) General Commands Manual RM-BASIC(1) + +NNAAMMEE + rrmm--bbaassiicc - the remove macro request + +DDEESSCCRRIIPPTTIIOONN + before rm: Hello world! + after rm: ! + +OpenBSD January 11, 2011 OpenBSD diff --git a/regress/roff/scale/Makefile b/regress/roff/scale/Makefile new file mode 100644 index 00000000..822f7555 --- /dev/null +++ b/regress/roff/scale/Makefile @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile,v 1.1 2014/08/14 02:00:53 schwarze Exp $ + +REGRESS_TARGETS = horiz + +.include diff --git a/regress/roff/scale/horiz.in b/regress/roff/scale/horiz.in new file mode 100644 index 00000000..edba2f75 --- /dev/null +++ b/regress/roff/scale/horiz.in @@ -0,0 +1,31 @@ +.TH HORIZ 1 "December 23, 2014" OpenBSD +.SH NAME +horiz \- horizontal distances +.SH DESCRIPTION +initial text +.in 240u +240u +.in 3.6c +3.6c +.in 0.003f +0.003f +.in 2i +2i +.in 500M +500M +.in 6P +6P +.in 36p +36p +.in 10n +10n +.in 5m +5m +.in 79n +79n +.in 1.5ix +1.5ix +.in -6n +-6n +.PP +final text diff --git a/regress/roff/scale/horiz.out_ascii b/regress/roff/scale/horiz.out_ascii new file mode 100644 index 00000000..75e12a4f --- /dev/null +++ b/regress/roff/scale/horiz.out_ascii @@ -0,0 +1,27 @@ +HORIZ(1) General Commands Manual HORIZ(1) + + + +NNAAMMEE + horiz - horizontal distances + +DDEESSCCRRIIPPTTIIOONN + initial text + 240u + 3.6c + 0.003f + 2i + 500M + 6P + 36p + 10n + 5m + 79n + 1.5ix + -6n + + final text + + + +OpenBSD December 23, 2014 HORIZ(1) diff --git a/regress/roff/sp/Makefile b/regress/roff/sp/Makefile new file mode 100644 index 00000000..7a09afb1 --- /dev/null +++ b/regress/roff/sp/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.5 2015/02/06 09:38:22 schwarze Exp $ + +REGRESS_TARGETS = badargs-man badargs-mdoc negative scaling-man scaling-mdoc +LINT_TARGETS = badargs-man + +.include diff --git a/regress/roff/sp/badargs-man.in b/regress/roff/sp/badargs-man.in new file mode 100644 index 00000000..0a7eb075 --- /dev/null +++ b/regress/roff/sp/badargs-man.in @@ -0,0 +1,17 @@ +.TH SP-BADARGS-MAN 1 "December 23, 2014" OpenBSD +.SH NAME +sp-badargs-man \- bad arguments to .sp macros in man(7) +.SH DESCRIPTION +no arguments: +.sp +one argument: +.sp 2v +two arguments: +.sp 3v 2i +no scaling unit specified: +.sp 1 +trailing garbage: +.sp 2vx +garbage only: +.sp xxx +end of test document diff --git a/regress/roff/sp/badargs-man.out_ascii b/regress/roff/sp/badargs-man.out_ascii new file mode 100644 index 00000000..b0421916 --- /dev/null +++ b/regress/roff/sp/badargs-man.out_ascii @@ -0,0 +1,29 @@ +SP-BADARGS-MAN(1) General Commands Manual SP-BADARGS-MAN(1) + + + +NNAAMMEE + sp-badargs-man - bad arguments to .sp macros in man(7) + +DDEESSCCRRIIPPTTIIOONN + no arguments: + + one argument: + + + two arguments: + + + + no scaling unit specified: + + trailing garbage: + + + garbage only: + + end of test document + + + +OpenBSD December 23, 2014 SP-BADARGS-MAN(1) diff --git a/regress/roff/sp/badargs-man.out_lint b/regress/roff/sp/badargs-man.out_lint new file mode 100644 index 00000000..d38502dd --- /dev/null +++ b/regress/roff/sp/badargs-man.out_lint @@ -0,0 +1 @@ +mandoc: badargs-man.in:10:8: ERROR: skipping excess arguments: sp ... 2i diff --git a/regress/roff/sp/badargs-mdoc.in b/regress/roff/sp/badargs-mdoc.in new file mode 100644 index 00000000..684ee7e3 --- /dev/null +++ b/regress/roff/sp/badargs-mdoc.in @@ -0,0 +1,20 @@ +.Dd December 23, 2014 +.Dt SP-BADARGS-MDOC 1 +.Os OpenBSD +.Sh NAME +.Nm sp-badargs-mdoc +.Nd bad arguments to .sp macros in mdoc(7) +.Sh DESCRIPTION +no arguments: +.sp +one argument: +.sp 2v +two arguments: +.sp 3v 2i +no scaling unit specified: +.sp 1 +trailing garbage: +.sp 2vx +garbage only: +.sp xxx +end of test document diff --git a/regress/roff/sp/badargs-mdoc.out_ascii b/regress/roff/sp/badargs-mdoc.out_ascii new file mode 100644 index 00000000..3e1f87ed --- /dev/null +++ b/regress/roff/sp/badargs-mdoc.out_ascii @@ -0,0 +1,25 @@ +SP-BADARGS-MDOC(1) General Commands Manual SP-BADARGS-MDOC(1) + +NNAAMMEE + sspp--bbaaddaarrggss--mmddoocc - bad arguments to .sp macros in mdoc(7) + +DDEESSCCRRIIPPTTIIOONN + no arguments: + + one argument: + + + two arguments: + + + + no scaling unit specified: + + trailing garbage: + + + garbage only: + + end of test document + +OpenBSD December 23, 2014 OpenBSD diff --git a/regress/roff/sp/negative.in b/regress/roff/sp/negative.in new file mode 100644 index 00000000..10c6edc9 --- /dev/null +++ b/regress/roff/sp/negative.in @@ -0,0 +1,8 @@ +.TH SP-NEGATIVE 1 "July 12, 2012" OpenBSD +.SH NAME +sp-negative \- negative vertical spacing +.SH DESCRIPTION +first line +.sp -1v +.PP +second line diff --git a/regress/roff/sp/negative.out_ascii b/regress/roff/sp/negative.out_ascii new file mode 100644 index 00000000..8a71aba6 --- /dev/null +++ b/regress/roff/sp/negative.out_ascii @@ -0,0 +1,14 @@ +SP-NEGATIVE(1) General Commands Manual SP-NEGATIVE(1) + + + +NNAAMMEE + sp-negative - negative vertical spacing + +DDEESSCCRRIIPPTTIIOONN + first line + second line + + + +OpenBSD July 12, 2012 SP-NEGATIVE(1) diff --git a/regress/roff/sp/scaling-man.in b/regress/roff/sp/scaling-man.in new file mode 100644 index 00000000..69318eca --- /dev/null +++ b/regress/roff/sp/scaling-man.in @@ -0,0 +1,27 @@ +.TH SP-SCALING-MAN 1 "December 23, 2014" OpenBSD +.SH NAME +sp-scaling-man \- scaled arguments to .sp requests in man(7) +.SH DESCRIPTION +20 basic units: +.sp 20u +21 basic units: +.sp 21u +one centimeter: +.sp 1c +quarter of an inch: +.sp 0.25i +half a pica: +.sp 0.5P +one pica: +.sp 1P +6 points: +.sp 6p +7 points: +.sp 7p +one en: +.sp 1n +three en: +.sp 3n +two em: +.sp 2m +end of test document diff --git a/regress/roff/sp/scaling-man.out_ascii b/regress/roff/sp/scaling-man.out_ascii new file mode 100644 index 00000000..72a0b53b --- /dev/null +++ b/regress/roff/sp/scaling-man.out_ascii @@ -0,0 +1,34 @@ +SP-SCALING-MAN(1) General Commands Manual SP-SCALING-MAN(1) + + + +NNAAMMEE + sp-scaling-man - scaled arguments to .sp requests in man(7) + +DDEESSCCRRIIPPTTIIOONN + 20 basic units: + 21 basic units: + + one centimeter: + + + quarter of an inch: + + half a pica: + one pica: + + 6 points: + 7 points: + + one en: + + three en: + + + two em: + + end of test document + + + +OpenBSD December 23, 2014 SP-SCALING-MAN(1) diff --git a/regress/roff/sp/scaling-mdoc.in b/regress/roff/sp/scaling-mdoc.in new file mode 100644 index 00000000..ff4d45c7 --- /dev/null +++ b/regress/roff/sp/scaling-mdoc.in @@ -0,0 +1,30 @@ +.Dd December 23, 2014 +.Dt SP-SCALING-MDOC 1 +.Os OpenBSD +.Sh NAME +.Nm sp-scaling-mdoc +.Nd scaled arguments to .sp requests in mdoc(7) +.Sh DESCRIPTION +20 basic units: +.sp 20u +21 basic units: +.sp 21u +one centimeter: +.sp 1c +quarter of an inch: +.sp 0.25i +half a pica: +.sp 0.5P +one pica: +.sp 1P +6 points: +.sp 6p +7 points: +.sp 7p +one en: +.sp 1n +three en: +.sp 3n +two em: +.sp 2m +end of test document diff --git a/regress/roff/sp/scaling-mdoc.out_ascii b/regress/roff/sp/scaling-mdoc.out_ascii new file mode 100644 index 00000000..625ba7c4 --- /dev/null +++ b/regress/roff/sp/scaling-mdoc.out_ascii @@ -0,0 +1,30 @@ +SP-SCALING-MDOC(1) General Commands Manual SP-SCALING-MDOC(1) + +NNAAMMEE + sspp--ssccaalliinngg--mmddoocc - scaled arguments to .sp requests in mdoc(7) + +DDEESSCCRRIIPPTTIIOONN + 20 basic units: + 21 basic units: + + one centimeter: + + + quarter of an inch: + + half a pica: + one pica: + + 6 points: + 7 points: + + one en: + + three en: + + + two em: + + end of test document + +OpenBSD December 23, 2014 OpenBSD diff --git a/regress/roff/string/Makefile b/regress/roff/string/Makefile new file mode 100644 index 00000000..d2cd125b --- /dev/null +++ b/regress/roff/string/Makefile @@ -0,0 +1,11 @@ +# $OpenBSD: Makefile,v 1.6 2014/07/06 19:08:57 schwarze Exp $ + +REGRESS_TARGETS=escape infinite zerolength name +LINT_TARGETS = name + +# The infinite test fails badly with groff-1.20.1: +# It fails to print the following text. + +SKIP_GROFF ?= infinite + +.include diff --git a/regress/roff/string/escape.in b/regress/roff/string/escape.in new file mode 100644 index 00000000..05a271e8 --- /dev/null +++ b/regress/roff/string/escape.in @@ -0,0 +1,26 @@ +.TH STRING-ESCAPE 1 "December 3, 2010" +.SH NAME +string-escape - preventing string interpolation +.SH DESCRIPTION +.ds right wrong +.ds inner *[right] +.ds outer \\*[inner] +.SS Normal interpolation +result: \*[inner] +.PP +The above line must be "result: *[right]". +.SS Intervening character +result: \e*[right] +.PP +The above line must be "result: backslash*[right]", +not "result: rong". +.SS Escaped backslash +result: \\*[right] +.PP +The above line must be "result: backslash*[right]", +not "result: rong". +.SS Delayed interpolation +result: \*[outer] +.PP +The above line must be "result: *[right]", +not "result: wrong". diff --git a/regress/roff/string/escape.out_ascii b/regress/roff/string/escape.out_ascii new file mode 100644 index 00000000..fc8021aa --- /dev/null +++ b/regress/roff/string/escape.out_ascii @@ -0,0 +1,31 @@ +STRING-ESCAPE(1) General Commands Manual STRING-ESCAPE(1) + + + +NNAAMMEE + string-escape - preventing string interpolation + +DDEESSCCRRIIPPTTIIOONN + NNoorrmmaall iinntteerrppoollaattiioonn + result: *[right] + + The above line must be "result: *[right]". + + IInntteerrvveenniinngg cchhaarraacctteerr + result: \*[right] + + The above line must be "result: backslash*[right]", not "result: rong". + + EEssccaappeedd bbaacckkssllaasshh + result: \*[right] + + The above line must be "result: backslash*[right]", not "result: rong". + + DDeellaayyeedd iinntteerrppoollaattiioonn + result: *[right] + + The above line must be "result: *[right]", not "result: wrong". + + + + December 3, 2010 STRING-ESCAPE(1) diff --git a/regress/roff/string/infinite.in b/regress/roff/string/infinite.in new file mode 100644 index 00000000..e16c527d --- /dev/null +++ b/regress/roff/string/infinite.in @@ -0,0 +1,8 @@ +.TH STRING-INFINITE 1 "December 3, 2010" OpenBSD +.SH NAME +string-infinite - endless recursion in string expansion +.SH DESCRIPTION +.ds recur \\*[recur] +Blow up, +(and do not \*[recur] print this) +but still render following text correctly. diff --git a/regress/roff/string/infinite.out_ascii b/regress/roff/string/infinite.out_ascii new file mode 100644 index 00000000..1a9a5d6a --- /dev/null +++ b/regress/roff/string/infinite.out_ascii @@ -0,0 +1,13 @@ +STRING-INFINITE(1) General Commands Manual STRING-INFINITE(1) + + + +NNAAMMEE + string-infinite - endless recursion in string expansion + +DDEESSCCRRIIPPTTIIOONN + Blow up, but still render following text correctly. + + + +OpenBSD December 3, 2010 STRING-INFINITE(1) diff --git a/regress/roff/string/name.in b/regress/roff/string/name.in new file mode 100644 index 00000000..a2a524a4 --- /dev/null +++ b/regress/roff/string/name.in @@ -0,0 +1,35 @@ +.Dd January 10, 2011 +.Dt STRING-NAME 1 +.Os OpenBSD +.Sh NAME +.Nm string-name +.Nd torturing .ds with weird string names +.Sh DESCRIPTION +.ds norm value of norm +.ds "quot" value of "quot" +.ds bs\e value of bs\ee +.ds bs\\e value of bs\e\ee +.ds bl\ e value of bl\e e +norm: \*[norm] +.br +norm without closing brace: \*[norm +.br +quot: \*[quot] +.br +"quot": \*["quot"] +.br +bs\e\ee: \*[bs\\e] +.\".br +.\"bs\ee: \*[bs\e] +.br +bse: \*[bse] +.br +bs: \*[bs] +.\".br +.\"bl\e e: \*[bl\ e] +.br +bl e: \*[bl e] +.br +ble: \*[ble] +.br +bl: \*[bl] diff --git a/regress/roff/string/name.out_ascii b/regress/roff/string/name.out_ascii new file mode 100644 index 00000000..45ebba19 --- /dev/null +++ b/regress/roff/string/name.out_ascii @@ -0,0 +1,18 @@ +STRING-NAME(1) General Commands Manual STRING-NAME(1) + +NNAAMMEE + ssttrriinngg--nnaammee - torturing .ds with weird string names + +DDEESSCCRRIIPPTTIIOONN + norm: value of norm + norm without closing brace: + quot: + "quot": value of "quot" + bs\\e: value of bs\\e + bse: + bs: + bl e: + ble: + bl: + +OpenBSD January 10, 2011 OpenBSD diff --git a/regress/roff/string/name.out_lint b/regress/roff/string/name.out_lint new file mode 100644 index 00000000..c4c757f5 --- /dev/null +++ b/regress/roff/string/name.out_lint @@ -0,0 +1,17 @@ +mandoc: name.in:10:5: ERROR: escaped character not allowed in a name: bs\e +mandoc: name.in:12:5: ERROR: escaped character not allowed in a name: bl\ +mandoc: name.in:15:29: WARNING: invalid escape sequence: \*[norm +mandoc: name.in:15:29: WARNING: undefined string, using "": norm +mandoc: name.in:15:28: WARNING: whitespace at end of input line +mandoc: name.in:17:7: WARNING: undefined string, using "": quot +mandoc: name.in:17:6: WARNING: whitespace at end of input line +mandoc: name.in:25:6: WARNING: undefined string, using "": bse +mandoc: name.in:25:5: WARNING: whitespace at end of input line +mandoc: name.in:27:5: WARNING: undefined string, using "": bs +mandoc: name.in:27:4: WARNING: whitespace at end of input line +mandoc: name.in:31:7: WARNING: undefined string, using "": bl e +mandoc: name.in:31:6: WARNING: whitespace at end of input line +mandoc: name.in:33:6: WARNING: undefined string, using "": ble +mandoc: name.in:33:5: WARNING: whitespace at end of input line +mandoc: name.in:35:5: WARNING: undefined string, using "": bl +mandoc: name.in:35:4: WARNING: whitespace at end of input line diff --git a/regress/roff/string/zerolength.in b/regress/roff/string/zerolength.in new file mode 100644 index 00000000..0d4d9bac --- /dev/null +++ b/regress/roff/string/zerolength.in @@ -0,0 +1,16 @@ +.TH STRING-ZEROLENGTH 1 "December 19, 2010" +.SH NAME +string-zerolength - handling of zero-length user-defined strings +.SH DESCRIPTION +.ds dszero " +.de dezero +.. +use zero-length string: +x\*[dszero]x +.dszero +x +.PP +use zero-length macro: +x\*[dezero]x +.dezero +x diff --git a/regress/roff/string/zerolength.out_ascii b/regress/roff/string/zerolength.out_ascii new file mode 100644 index 00000000..ff9d2473 --- /dev/null +++ b/regress/roff/string/zerolength.out_ascii @@ -0,0 +1,15 @@ +STRING-ZEROLENGTH(1) General Commands Manual STRING-ZEROLENGTH(1) + + + +NNAAMMEE + string-zerolength - handling of zero-length user-defined strings + +DDEESSCCRRIIPPTTIIOONN + use zero-length string: xx x + + use zero-length macro: xx x + + + + December 19, 2010 STRING-ZEROLENGTH(1) diff --git a/regress/roff/tr/Makefile b/regress/roff/tr/Makefile new file mode 100644 index 00000000..791c27ef --- /dev/null +++ b/regress/roff/tr/Makefile @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile,v 1.1 2015/02/06 16:05:51 schwarze Exp $ + +REGRESS_TARGETS = args +LINT_TARGETS = args + +.include diff --git a/regress/roff/tr/args.in b/regress/roff/tr/args.in new file mode 100644 index 00000000..1ef074d6 --- /dev/null +++ b/regress/roff/tr/args.in @@ -0,0 +1,16 @@ +.TH TR-BASIC 1 "February 6, 2015" OpenBSD +.SH NAME +tr-args \- arguments of the tr request +.SH DESCRIPTION +no argument: +.tr +one character: +.tr x +>>x<< +two characters: +.tr xy +>>x<< +three characters: +.tr xyz +>>xz<< +last line diff --git a/regress/roff/tr/args.out_ascii b/regress/roff/tr/args.out_ascii new file mode 100644 index 00000000..b199ed6b --- /dev/null +++ b/regress/roff/tr/args.out_ascii @@ -0,0 +1,14 @@ +TR-BASIC(1) General Commands Manual TR-BASIC(1) + + + +NNAAMMEE + tr-args - arguments of the tr request + +DDEESSCCRRIIPPTTIIOONN + no argument: one character: >> << two characters: >>y<< three + characters: >>y << last line + + + +OpenBSD February 6, 2015 TR-BASIC(1) diff --git a/regress/roff/tr/args.out_lint b/regress/roff/tr/args.out_lint new file mode 100644 index 00000000..dec14b80 --- /dev/null +++ b/regress/roff/tr/args.out_lint @@ -0,0 +1,3 @@ +mandoc: args.in:6:1: WARNING: skipping empty request: tr +mandoc: args.in:8:5: WARNING: odd number of characters in request: tr x +mandoc: args.in:14:7: WARNING: odd number of characters in request: tr z -- cgit v1.2.3-56-ge451