Comment 1 for bug 1645895

Revision history for this message
Stas Boukarev (stassats) wrote :

There are two sentences that prescribe different things. Even though the second one is a bit more strong, it's not entirely unambiguous. And it makes for a surprising behavior that depends on the symbol being present or not.
It seems more that the intention was that if the symbol is already present in the internal symbol list it doesn't need to do anything.
I don't think anyone wants this to apply to the rehoming bit as well.

Moreover, if it's indeed implemented as a no-op then to actually get the current behavior it would have to be first uninterned, which would also remove it from the shadowing list, so it would have to remember and reshadow it.

Clearly, the current behavior is more logical and useful.

I'm choosing to interpret this slight ambiguity in favor the status quo.