Erik Huelsmann ehuels@gmail.com writes:
Sent the response below to Tobias privately by accident.
---------- Forwarded message ---------- From: Erik Huelsmann ehuels@gmail.com Date: Mon, Jan 11, 2010 at 11:40 PM Subject: Re: [armedbear-devel] [Bug] Identically named gensymed coalesced into same object in fasl file To: "Tobias C. Rittweiler" tcr@freebits.de
Hi Tobias,
Thanks for your report. This issue has long been in ABCL and it's not fixed yet.
I have known about this problem for a while, but was kind of hoping it wouldn't show up in practice. I guess it did.
This is what happens: when reading, the fasl loader creates an anonymous package in which it interns uninterned symbols. It "has" to do that, because ABCL doesn't store references to the actual unique objects everywhere; instead it stores the textual representation in some places. These symbols get coalesced by use of the anonymous package.
So, generally the system of coalescing is something inherent to this idea. The idea is wrong enough for you to run into and get bitten by it.
We'll have to come up with a better idea. Can you add the mail message below to our issue tracker?
It's tracked as
http://trac.common-lisp.net/armedbear/ticket/79
BTW: Did you happen to find this issue by accident? How did you find it?
I wondered what 3.2.4.2.2 (``Two apparently uninterned symbols S and C are similar if their names are similar.'') is supposed to mean. I came up with that test case, and tried it on all implementations that I've got installed.
I first thought that ABCL's behaviour is what the standard would prescribe, even though I couldn't believe that to be true -- until I was pointed out 3.2.4.1 by Bart Botta.
-T.