A new version of Collections was added to project The Inbox:
http://source.squeak.org/inbox/Collections-ul.363.mcz==================== Summary ====================
Name: Collections-ul.363
Author: ul
Time: 14 June 2010, 9:54:12.63 pm
UUID: e8d21091-4b93-c14a-8011-830184c8fc38
Ancestors: Collections-ul.362
- evaluate the finalizers outside the protected block in WeakRegistry >> #finalizeValues
=============== Diff against Collections-ul.362 ===============
Item was added:
+ ----- Method: WeakKeyDictionary>>finalizer (in category 'accessing') -----
+ finalizer
+
+ ^finalizer!
Item was changed:
----- Method: WeakRegistry>>finalizeValues (in category 'finalization') -----
finalizeValues
"Some of our elements may have gone away. Look for those and activate the associated executors."
+ | objectsToFinalize |
+ objectsToFinalize := OrderedCollection new.
+ self protected: [
+ | oldFinalizer |
+ oldFinalizer := valueDictionary finalizer.
+ valueDictionary
+ finalizer: [ :object | objectsToFinalize add: object ];
+ finalizeValues;
+ finalizer: oldFinalizer ].
+ objectsToFinalize do: #finalize!
- self protected: [ valueDictionary finalizeValues ]!