Nicolas Cellier uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-nice.797.mcz
==================== Summary ====================
Name: Kernel-nice.797 Author: nice Time: 28 July 2013, 4:48:53.354 pm UUID: c2ee61a3-86aa-4a39-ae2a-93ac3e8c81c6 Ancestors: Kernel-fbs.796
Workaround to fix http://bugs.squeak.org/view.php?id=1554 A class variable defined in a superclass should take precedence over a global variable.
Note that current implementation will import the bindings of every superclass environment which is questionable.
Fix a doubled statement terminator in Month class>>readFrom:.
=============== Diff against Kernel-fbs.796 ===============
Item was changed: ----- Method: Class>>bindingOf:environment: (in category 'compiling') ----- bindingOf: varName environment: anEnvironment "Answer the binding of some variable resolved in the scope of the receiver" | aSymbol binding | aSymbol := varName asSymbol.
"First look in classVar dictionary." + (self classThatDefinesClassVariable: aSymbol) ifNotNil: + [:x | ^x classPool bindingOf: aSymbol]. - binding := self classPool bindingOf: aSymbol. - binding ifNotNil:[^binding].
"Next look in shared pools." self sharedPools do:[:pool | binding := pool bindingOf: aSymbol. binding ifNotNil:[^binding]. ].
"Next look in declared environment." binding := anEnvironment bindingOf: aSymbol. binding ifNotNil:[^binding].
"Finally look higher up the superclass chain and fail at the end." superclass == nil ifTrue: [^ nil] ifFalse: [^ superclass bindingOf: aSymbol].
!
Item was changed: ----- Method: Month class>>readFrom: (in category 'squeak protocol') ----- readFrom: aStream | m y | aStream skipSeparators. + m := aStream upToAnyOf: CharacterSet separators. - m := aStream upToAnyOf: CharacterSet separators.. aStream skipSeparators. y := aStream upToEnd. ^ self month: m year: y asInteger
"Month readFrom: 'July 1998' readStream"!
packages@lists.squeakfoundation.org