DEFINE !p(!positional !tokens(1)
/!positional !tokens(1)
/!positional !tokens(1))
-p(!1, !2, !3)
+p(!1, !2, !3)(!*)
!ENDDEFINE.
DEBUG EXPAND.
"Three !TOKENS(1) arguments."
-p(a, b, c)
+p(a, b, c) (a b c)
-p(1, -2, -3)
+p(1, -2, -3) (1 -2 -3)
])
AT_CLEANUP
\f
A B C.
A B C.])
+
+dnl !* is implemented separately inside and outside function arguments
+dnl so this test makes sure to include both.
+PSPP_CHECK_MACRO_EXPANSION([!*], [dnl
+DEFINE !m(!POSITIONAL !TOKENS(1)
+ /!POSITIONAL !TOKENS(1))
+!*/
+!LENGTH(!*)/
+!SUBSTR(!*, 3)/
+!QUOTE(!*).
+!ENDDEFINE.],
+ [!m 123 b
+!m 2 3
+!m '' 'b'.
+], [123 b / 5 / 3 b / '123 b'.
+2 3 / 3 / 3 / '2 3'.
+'' 'b' / 6 / 'b' / ''''' ''b'''.])
\ No newline at end of file