segment: Refine treatment of start of macro body.
[pspp] / tests / language / lexer / scan.at
index d263352d88f686adcfe9641feab967cf59c3c999..d1fb66fcbeb5dd90deefefc81c62a32f851149e4 100644 (file)
@@ -895,6 +895,7 @@ MACRO_ID "!macro1"
 LPAREN
 RPAREN
 SKIP
+SKIP
 STRING "var1 var2 var3"
 SKIP
 MACRO_ID "!enddefine"
@@ -905,6 +906,71 @@ STOP
 PSPP_CHECK_SCAN([-i])
 AT_CLEANUP
 \f
+AT_SETUP([DEFINE command - no newline after parentheses])
+AT_KEYWORDS([scan])
+AT_DATA([input], [dnl
+define !macro1() var1 var2 var3
+!enddefine.
+])
+AT_DATA([expout-base], [dnl
+ID "define"
+SKIP
+MACRO_ID "!macro1"
+LPAREN
+RPAREN
+STRING " var1 var2 var3"
+SKIP
+MACRO_ID "!enddefine"
+ENDCMD
+-SKIP
+STOP
+])
+PSPP_CHECK_SCAN([-i])
+AT_CLEANUP
+\f
+AT_SETUP([DEFINE command - no newline before !ENDDEFINE])
+AT_KEYWORDS([scan ENDDEFINE])
+AT_DATA([input], [dnl
+define !macro1()
+var1 var2 var3!enddefine.
+])
+AT_DATA([expout-base], [dnl
+ID "define"
+SKIP
+MACRO_ID "!macro1"
+LPAREN
+RPAREN
+SKIP
+SKIP
+STRING "var1 var2 var3"
+MACRO_ID "!enddefine"
+ENDCMD
+-SKIP
+STOP
+])
+PSPP_CHECK_SCAN([-i])
+AT_CLEANUP
+\f
+AT_SETUP([DEFINE command - all on one line])
+AT_KEYWORDS([scan])
+AT_DATA([input], [dnl
+define !macro1()var1 var2 var3!enddefine.
+])
+AT_DATA([expout-base], [dnl
+ID "define"
+SKIP
+MACRO_ID "!macro1"
+LPAREN
+RPAREN
+STRING "var1 var2 var3"
+MACRO_ID "!enddefine"
+ENDCMD
+-SKIP
+STOP
+])
+PSPP_CHECK_SCAN([-i])
+AT_CLEANUP
+\f
 AT_SETUP([DEFINE command - empty])
 AT_KEYWORDS([scan])
 AT_DATA([input], [dnl
@@ -918,6 +984,35 @@ MACRO_ID "!macro1"
 LPAREN
 RPAREN
 SKIP
+SKIP
+MACRO_ID "!enddefine"
+ENDCMD
+-SKIP
+STOP
+])
+PSPP_CHECK_SCAN([-i])
+AT_CLEANUP
+\f
+AT_SETUP([DEFINE command - blank lines])
+AT_KEYWORDS([scan])
+AT_DATA([input], [dnl
+define !macro1()
+
+
+!enddefine.
+])
+AT_DATA([expout-base], [dnl
+ID "define"
+SKIP
+MACRO_ID "!macro1"
+LPAREN
+RPAREN
+SKIP
+SKIP
+STRING ""
+SKIP
+STRING ""
+SKIP
 MACRO_ID "!enddefine"
 ENDCMD
 -SKIP
@@ -952,6 +1047,7 @@ LPAREN
 RPAREN
 RPAREN
 SKIP
+SKIP
 MACRO_ID "!enddefine"
 ENDCMD
 -SKIP
@@ -996,6 +1092,7 @@ RPAREN
 SKIP
 RPAREN
 SKIP
+SKIP
 MACRO_ID "!enddefine"
 ENDCMD
 -SKIP
@@ -1028,6 +1125,7 @@ ID "z"
 SKIP
 RPAREN
 SKIP
+SKIP
 STRING "content 1"
 SKIP
 STRING "content 2"
@@ -1172,6 +1270,7 @@ MACRO_ID "!macro1"
 LPAREN
 RPAREN
 SKIP
+SKIP
 STRING "content line 1"
 SKIP
 STRING "content line 2"