diff -r 1fc3abdcb8f9 -r 71257a47eba2 ProgrammingLanguage.st --- a/ProgrammingLanguage.st Thu Jan 21 17:58:19 2016 +0000 +++ b/ProgrammingLanguage.st Sat Jan 23 07:23:05 2016 +0000 @@ -171,16 +171,21 @@ allDo: aBlock ^ self allSubclassesDo: [:each | aBlock value: each instance] + " + ProgrammingLanguage allDo:[:l | Transcript showCR:l ] + " + "Created: / 16-08-2009 / 14:07:40 / Jan Vrany " ! ! !ProgrammingLanguage class methodsFor:'private'! instancesDetect: detectBlock ifNone: failBlock - - - self allSubclasses - do:[:cls|(detectBlock value: cls instance) ifTrue:[^cls instance]]. + self allSubclasses do:[:cls| + |inst| + inst := cls instance. + (detectBlock value:inst) ifTrue:[^inst] + ]. ^failBlock value "Created: / 16-08-2009 / 10:57:32 / Jan Vrany "