p500vax:pat (01/04/83)
Some time ago mail appeared on the net discussing how best to include
multiple statements in macro definitions.
Both
#define M { a; b; }
and
#define M a; b;
fail in the case of
if( boolean )
M;
else
N;
resulting in an "else without if" syntax error ( or worse ).
An answer lies with that most obscure of C features, the comma operator,
viz.
#define M ( a, b )
Whether or not this is good practice is debatable.