[BACK]Return to basic.in CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc / regress / roff / return

File: [cvsweb.bsd.lv] / mandoc / regress / roff / return / basic.in (download)

Revision 1.1, Thu Aug 23 14:29:42 2018 UTC (5 years, 9 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_6, VERSION_1_14_5, HEAD

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().

.\" $OpenBSD: basic.in,v 1.1 2018/08/23 14:16:12 schwarze Exp $
.Dd $Mdocdate: August 23 2018 $
.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