From a99c9a30e9f41eb3ce553ac0b2ac6ff963ebe49d Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Thu, 23 Aug 2018 14:29:38 +0000 Subject: 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(). --- regress/roff/return/basic.out_ascii | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 regress/roff/return/basic.out_ascii (limited to 'regress/roff/return/basic.out_ascii') diff --git a/regress/roff/return/basic.out_ascii b/regress/roff/return/basic.out_ascii new file mode 100644 index 00000000..25f66744 --- /dev/null +++ b/regress/roff/return/basic.out_ascii @@ -0,0 +1,15 @@ +RETURN-BASIC(1) General Commands Manual RETURN-BASIC(1) + +NNAAMMEE + rreettuurrnn--bbaassiicc - the return request + +DDEESSCCRRIIPPTTIIOONN + return before macro + + text from macro (1 argument: "myarg"), 0 arguments after return: "", + + return after macro + + final text + +OpenBSD August 23, 2018 OpenBSD -- cgit