This breaks compiling EToys scripts when those refer to global classes. I probably don't understand something here, but for context, EToys players are not in the global environment, they create their own otherwise empty environment.

On Thu, 29 Sep 2016 at 10:19 <commits@source.squeak.org> wrote:
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.1042.mcz

==================== Summary ====================

Name: Kernel-nice.1042
Author: nice
Time: 29 September 2016, 10:15:16.009388 am
UUID: 8923b113-72cf-414e-802c-cef7c50f8ad1
Ancestors: Kernel-tfel.1041, Kernel-nice.798

Merge Kernel-nice.798 (variable scope fix, don't resolve name in superclass environment)

Reminder: this requires some Smalltalk exportSelf.

=============== Diff against Kernel-tfel.1041 ===============

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 local classVar dictionary."
+       binding := self classPool bindingOf: aSymbol.
+       binding ifNotNil:[^binding].
-       "First look in classVar dictionary."
-       (self classThatDefinesClassVariable: aSymbol) ifNotNil:
-               [:x | ^x classPool bindingOf: aSymbol].

+       "Next look in local shared pools."
-       "Next look in shared pools."
        self sharedPools do:[:pool |
                binding := pool bindingOf: aSymbol.
                binding ifNotNil:[^binding].
        ].

+       "Next look into superclass pools"
+       superclass ifNotNil: [^ superclass bindingOf: aSymbol environment: anEnvironment].
+
+       "No more superclass... Last look in declared environment."
+       ^anEnvironment bindingOf: aSymbol
-       "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].
-
  !