--- a/WeakIdentityDictionary.st Fri Nov 18 16:07:56 2016 +0100
+++ b/WeakIdentityDictionary.st Fri Nov 18 16:12:09 2016 +0100
@@ -274,6 +274,25 @@
"Modified: / 13.12.2001 / 14:17:58 / martin"
! !
+!WeakIdentityDictionary methodsFor:'enumerating'!
+
+keysDo:aBlock
+ "evaluate aBlock for each registered object"
+
+ "#Dictionary>>keysDo: would not work, since the keyArray instvar may change if
+ elements are unregistered while looping."
+
+ ^ keyArray validElementsDo:[:each|
+ each ~~ DeletedEntry ifTrue:[
+ each == NilEntry ifTrue:[
+ aBlock value:nil.
+ ] ifFalse:[
+ aBlock value:each.
+ ]
+ ].
+ ]
+! !
+
!WeakIdentityDictionary methodsFor:'private'!
findKeyOrNil:key
@@ -550,5 +569,9 @@
version
^ '$Header$'
+!
+
+version_CVS
+ ^ '$Header$'
! !