new Magma (was: Dictionaries broken in 3.9a)

Chris Muller chris at funkyobjects.org
Wed Sep 21 21:47:03 UTC 2005


In light of the recent discussion regarding nil keys in
Dictionaries, I have removed the anti-fixes related to this (including the
#associationsDo: override in WeakKeyIdentityDictionary) from their "System
overrides for ma object serialization" package of Magma.

Magma is back to 100% pure*, making no system changes that have not been
approved for at least 3.9.

[*] I left the 3.9-approved fixes in, however, for <= 3.8 users.

I have also removed all use of Ma*Dictionary's.  They were written to fix the
performance bug with #removeKey: for which they are 1000x (or more) faster than
their standard counterparts but are a bit slower for other operations.  Magma
now avoids removeKey: altogether, so going back to the standard Dictionary's
you should enjoy a minor performance improvement.

A few more improvements too:

- More robust network error handling for when other end drops unexpectedly.
- Tests now only open transcript in conductor image.  Besides being faster,
Squeak was locking up loading a font or something, no time to debug it.
- Fixed possible error when opening partially-written commitPackages file.

Let me know if any questions or issues.

 - Chris



More information about the Squeak-dev mailing list