Subject: Re: bug#4845: 23.1.50; Uninterned symbols in .elc files

From: Helmut Eller <[email-masked]>
Date: Tue, 19 Jan 2016 20:44:29 +0100

On Tue, Jan 19 2016, John Wiegley wrote:

> I don't think this is a bug, rather macro expansion doing exactly what it was
> told to do.
 
Interpreted and compiled code behave differently.  That's always a
problem.  Obviously not a big problem.

> The general rule to follow is: Don't leak internal symbols.

I would say "Don't leak non-interned symbols", except that "leaking" is
not a well defined term.

Or alternatively "Keep in mind that uninterned symbols are freshly
created when loading compiled code from files and shared only in certain
situations e.g. for two occurrences inside the same lambda."

The best solution would be to have one constant pool per
compilation-unit instead of a constant pool per function.  But I doubt
that anybody cares enough to implement that.

Helmut