[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Understanding macros and the compilation flow
From: |
Stefan Monnier |
Subject: |
Re: Understanding macros and the compilation flow |
Date: |
Wed, 08 Dec 2010 15:11:40 -0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
> Seems like I didn't understand the compilation process, for my
> understanding the redefinition of the macro "mac" after defining the
> function "func" should not effect the expansion anymore...
> Please, what am I missing here?
What you're missing is that the time (and number of times) the macro is
expanded depends on various factors. The Elisp interpreter by default
only expands macro during execution (and throws away the result).
But don't rely on it, because the byte-compiler does it differently, and
the evaluator could also be changed to do it differently.
Stefan