Test the weird construct of a user-defined macro starting (but not
authorschwarze <schwarze@openbsd.org>
Tue, 30 Dec 2014 10:28:56 +0000 (10:28 +0000)
committerschwarze <schwarze@openbsd.org>
Tue, 30 Dec 2014 10:28:56 +0000 (10:28 +0000)
ending!) the definition of another user defined macro.
Mandoc already handles this correctly, make sure it won't get broken.

regress/usr.bin/mandoc/roff/de/Makefile
regress/usr.bin/mandoc/roff/de/startde.in [new file with mode: 0644]
regress/usr.bin/mandoc/roff/de/startde.out_ascii [new file with mode: 0644]

index 4155d97..f186519 100644 (file)
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile,v 1.5 2014/07/07 11:34:41 schwarze Exp $
+# $OpenBSD: Makefile,v 1.6 2014/12/30 10:28:56 schwarze Exp $
 
-REGRESS_TARGETS = append escname indir TH Dd
+REGRESS_TARGETS = append escname indir startde TH Dd
 LINT_TARGETS   = escname indir
 
 .include <bsd.regress.mk>
diff --git a/regress/usr.bin/mandoc/roff/de/startde.in b/regress/usr.bin/mandoc/roff/de/startde.in
new file mode 100644 (file)
index 0000000..ca9cfac
--- /dev/null
@@ -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/usr.bin/mandoc/roff/de/startde.out_ascii b/regress/usr.bin/mandoc/roff/de/startde.out_ascii
new file mode 100644 (file)
index 0000000..05b58e8
--- /dev/null
@@ -0,0 +1,15 @@
+DE-STARTDE(1)               General Commands Manual              DE-STARTDE(1)
+
+N\bNA\bAM\bME\bE
+     d\bde\be-\b-s\bst\bta\bar\brt\btd\bde\be - macro starting a macro definition, but not ending it
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+     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