[squeak-dev] Re: possible Environments bug

Levente Uzonyi leves at elte.hu
Thu Oct 3 02:12:06 UTC 2013


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


More information about the Squeak-dev mailing list