There is also http://bugs.squeak.org/view.php?id=7313 to capitalize these changes across forks.
From what I remember, Lukas' fix > Keithy's workaround.
Nicolas 2009/5/27 Lukas Renggli <renggli@gmail.com>:
I played a bit with it. I came up with the following quick fix, but probably Eliot has a better solution. I find that code quite fragile anyway, if you instantiate an object in your enumeration block your lost (that was already the case before) ...
allObjectsDo: aBlock     "Evaluate the argument, aBlock, for each object in the system     excluding SmallIntegers."     | object |     object := self someObject.     [0 == object]         whileFalse: [             (object class == MethodContext and: [ object closure == aBlock ])                 ifFalse: [ aBlock value: object ].             object := object nextObject]
On Wed, May 27, 2009 at 10:53 PM, Adrian Lienhard <adi@netstyle.ch> wrote:
SystemNavigation default allObjectsDo: [ :e  ]
...never terminates. At least since this is broken since #10268cl. Version #10263 was still working.
The suspect are new closures (I guess, creating new context instances while iterating over all objects)...
http://code.google.com/p/pharo/issues/detail?id=851
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Lukas Renggli http://www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project