emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bootstrap problem with union Lisp_Object


From: Stefan Monnier
Subject: Re: bootstrap problem with union Lisp_Object
Date: Tue, 06 Dec 2005 11:20:08 -0500
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>> The argument of *any* macro should be free of side effects.
> Not necessarily.

Like everything, there are exceptions, of course.  But then people who come
and want to change the macro suffer.  I know because I've added an `eassert
(INTEGERP (x))' to the XINT macro (as you may have noticed by looking at
some of the commits I've done a while back).

So please, just move side effects out of macro arguments, even if they don't
hurt with the current definition of the macro.

> Making macros safe on side effects is usually not hard,

Try it with asserts (and without GCC extensions, of course).


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]