On Wed, 2 Oct 2013, Chris Muller wrote:
>> Tricky to fix, too, since its a read-only binding plus you can't
>> simply reference Fred anymore at all. I had to:
>>
>> [ (Smalltalk association at: #Fred) value: (Smalltalk
>> allClassesAndTraits detect: [ : e | e name = #Fred) ]
>> on: AttemptToWriteReadOnlyGlobal
>> do: [ : noti | noti resume: true ]
>
> Should have pasted it:
>
> [ (Smalltalk associationOrUndeclaredAt: #Fred) value: (Smalltalk
> allClassesAndTraits detect: [ : e | e name = #Fred ]) ]
> on: AttemptToWriteReadOnlyGlobal
> do: [ : noti | noti resume: true ]
>
> So, the problem develops in the Environment's 'references' Dictionary...
>
>
I'm always saying that Environments are kinda broken, because the bindings
are used directly by multiple dictionaries. This is a side effect of that.
I had a proposal to fix them, and a half-baked solution a while ago, but
I've lost it during a hard drive failure. I might have a backup somewhere,
but haven't checked it yet.
Levente