2039 |
Characters that separate the arguments of a macro call. Default |
Characters that separate the arguments of a macro call. Default |
2040 |
is @kbd{,}. |
is @kbd{,}. |
2041 |
|
|
2042 |
|
@item Dollar |
2043 |
|
Characters that can introduce an argument reference in the body of a |
2044 |
|
macro. Default is @kbd{$}. |
2045 |
|
|
2046 |
@item Other |
@item Other |
2047 |
Characters that have no special syntactical meaning to @code{m4}. |
Characters that have no special syntactical meaning to @code{m4}. |
2048 |
Default is all characters expect those in the categories above. |
Default is all characters expect those in the categories above. |
2104 |
Close parenthesis |
Close parenthesis |
2105 |
@item , |
@item , |
2106 |
Argument separator |
Argument separator |
2107 |
|
@item $ |
2108 |
|
Dollar |
2109 |
@item O |
@item O |
2110 |
Other |
Other |
2111 |
@item @@ |
@item @@ |
2177 |
@end example |
@end example |
2178 |
|
|
2179 |
@noindent |
@noindent |
2180 |
It is not yet possible to redefine the @samp{$} used to indicate macro |
It is possible to redefine the @samp{$} used to indicate macro arguments |
2181 |
arguments in user defined macros. |
in user defined macros. |
2182 |
|
|
2183 |
|
@example |
2184 |
|
define(`argref', `Dollar: $#, Question: ?#') |
2185 |
|
@result{} |
2186 |
|
argref(1, 2, 3) |
2187 |
|
@result{}Dollar: 3, Question: ?# |
2188 |
|
changesyntax(`$?', `O$') |
2189 |
|
@result{} |
2190 |
|
argref(1,2,3) |
2191 |
|
@result{}Dollar: $#, Question: 3 |
2192 |
|
@end example |
2193 |
|
|
2194 |
|
@noindent |
2195 |
|
Dollar class syntax elements are copied to the output if there is no |
2196 |
|
valid expansion. |
2197 |
|
|
2198 |
|
@example |
2199 |
|
define(`escape', `$?`'1$?1?') |
2200 |
|
@result{} |
2201 |
|
changesyntax(`$?') |
2202 |
|
@result{} |
2203 |
|
escape(foo) |
2204 |
|
@result{}$?1$foo? |
2205 |
|
@end example |
2206 |
|
|
2207 |
Macro calls can be given a @TeX{} or Texinfo like syntax using an |
Macro calls can be given a @TeX{} or Texinfo like syntax using an |
2208 |
escape. If one or more characters are defined as escapes macro names |
escape. If one or more characters are defined as escapes macro names |