[net.unix-wizards] Multiple statements in C macros

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 )


The advisability of such a practice is debatable.