diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2018-08-23 14:29:38 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2018-08-23 14:29:38 +0000 |
commit | a99c9a30e9f41eb3ce553ac0b2ac6ff963ebe49d (patch) | |
tree | 9de2c70188a81c04c2b08671dcf1d3eb421403da /regress/roff/return/basic.in | |
parent | 50f5bf83cff66e2f7baa88e327d78c37143bed97 (diff) | |
download | mandoc-a99c9a30e9f41eb3ce553ac0b2ac6ff963ebe49d.tar.gz |
Implement the roff(7) .shift and .return requests,
for example used by groff_hdtbl(7) and groff_mom(7).
Also correctly interpolate arguments during nested macro execution
even after .shift and .return, implemented using a stack of argument
arrays.
Note that only read.c, but not roff.c can detect the end of a macro
execution, and the existence of .shift implies that arguments cannot
be interpolated up front, so unfortunately, this includes a partial
revert of roff.c rev. 1.337, moving argument interpolation back into
the function roff_res().
Diffstat (limited to 'regress/roff/return/basic.in')
-rw-r--r-- | regress/roff/return/basic.in | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/regress/roff/return/basic.in b/regress/roff/return/basic.in new file mode 100644 index 00000000..e001f59e --- /dev/null +++ b/regress/roff/return/basic.in @@ -0,0 +1,23 @@ +.\" $OpenBSD: basic.in,v 1.1 2018/08/23 14:16:12 schwarze Exp $ +.Dd $Mdocdate$ +.Dt RETURN-BASIC 1 +.Os +.Sh NAME +.Nm return-basic +.Nd the return request +.Sh DESCRIPTION +return before macro +.return +.Pp +.de mymacro +text from macro (\\n(.$ argument: "\\$1"), +.return +not printed, +.. +.mymacro myarg +\n(.$ arguments after return: "\$1", +.Pp +return after macro +.return +.Pp +final text |