Michael Heerdegen writes: > Thierry Volpiatto writes: > >> > The idea for fixing is that the macro instead introduces a new >> > uninterned symbol instead of an interned one, and uses that in the >> > expansion (see manual): a new uninterned symbol can't clash with any >> > existing variable. `macroexpand' and `macroexpand-all' are your friend: >> > use these to see what you get. Later you can do that in your mind only. >> > If you don't do that _all_the_time_, you'll get crazy with this stuff. >> >> AFAIU you can't do that all the time though, like if you want to >> introduce a local var in your macro that may be used in body e.g. `it` >> in cl-loop. Correct me if I am wrong. > > With "all the time" I meant "macroexpand little examples in your mind > all the time". Ah yes, I agree with this, sorry for my misunderstanding, I thought you meant "always bind vars to uninterned symbols". -- Thierry