diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2017-06-18 17:36:03 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2017-06-18 17:36:03 +0000 |
commit | 6d2d7fe29d2b59f3f7317704a120c6cf8e794ec4 (patch) | |
tree | 53f518212f9cb98387b21e9eeca9aa019c19dbfc /regress/roff/string | |
parent | c58fe9157a7d01e305e9b0722af6f1be98111207 (diff) | |
download | mandoc-6d2d7fe29d2b59f3f7317704a120c6cf8e794ec4.tar.gz |
Implement appending to standard man(7) and mdoc(7) macros with .am.
With roff_getstrn(), provide finer control which definitions
can be used for what:
* All definitions can be used for .if d tests and .am appending.
* User-defined for \* expansion, .dei expansion, and macro calling.
* Predefined for \* expansion.
* Standard macros, original or renamed, for macro calling.
Several related improvements while here:
* Do not return string table entries that have explicitly been removed.
* Do not create a rentab entry when trying to rename a non-existent macro.
* Clear an existing rentab entry when the external interface
roff_setstr() is called with its name.
* Avoid trailing blanks in macro lines generated from renamed
and from aliased macros.
* Delete the duplicate __m*_reserved[] tables, just use roff_name[].
Diffstat (limited to 'regress/roff/string')
-rw-r--r-- | regress/roff/string/Makefile | 10 | ||||
-rw-r--r-- | regress/roff/string/std.in | 10 | ||||
-rw-r--r-- | regress/roff/string/std.out_ascii | 15 | ||||
-rw-r--r-- | regress/roff/string/std.out_lint | 3 |
4 files changed, 35 insertions, 3 deletions
diff --git a/regress/roff/string/Makefile b/regress/roff/string/Makefile index d2cd125b..354a7a75 100644 --- a/regress/roff/string/Makefile +++ b/regress/roff/string/Makefile @@ -1,11 +1,15 @@ # $OpenBSD: Makefile,v 1.6 2014/07/06 19:08:57 schwarze Exp $ -REGRESS_TARGETS=escape infinite zerolength name -LINT_TARGETS = name +REGRESS_TARGETS = escape infinite name std zerolength +LINT_TARGETS = name std # The infinite test fails badly with groff-1.20.1: # It fails to print the following text. -SKIP_GROFF ?= infinite +SKIP_GROFF ?= infinite + +# Groff can expand standard macros as strings, but mandoc cannot. + +SKIP_GROFF += std .include <bsd.regress.mk> diff --git a/regress/roff/string/std.in b/regress/roff/string/std.in new file mode 100644 index 00000000..f460b101 --- /dev/null +++ b/regress/roff/string/std.in @@ -0,0 +1,10 @@ +.TH STRING-STD 1 "June 18, 2017" OpenBSD +.SH NAME +string-std - expanding standard macros as strings +.SH DESCRIPTION +expanding the DT macro as a string: +>>>\*[DT]<<< +.PP +.rn DT myname +the same after renaming it: +>>>\*[myname]<<< diff --git a/regress/roff/string/std.out_ascii b/regress/roff/string/std.out_ascii new file mode 100644 index 00000000..b399374c --- /dev/null +++ b/regress/roff/string/std.out_ascii @@ -0,0 +1,15 @@ +STRING-STD(1) General Commands Manual STRING-STD(1) + + + +NNAAMMEE + string-std - expanding standard macros as strings + +DDEESSCCRRIIPPTTIIOONN + expanding the DT macro as a string: >>><<< + + the same after renaming it: >>><<< + + + +OpenBSD June 18, 2017 STRING-STD(1) diff --git a/regress/roff/string/std.out_lint b/regress/roff/string/std.out_lint new file mode 100644 index 00000000..3f4dee30 --- /dev/null +++ b/regress/roff/string/std.out_lint @@ -0,0 +1,3 @@ +mandoc: std.in:6:4: WARNING: undefined string, using "": DT +mandoc: std.in:10:4: WARNING: undefined string, using "": myname +mandoc: std.in: STYLE: RCS id missing |