Andreas Raab uploaded a new version of Compiler to project The Trunk: http://source.squeak.org/trunk/Compiler-ar.141.mcz
==================== Summary ====================
Name: Compiler-ar.141 Author: ar Time: 16 May 2010, 6:22:58.961 pm UUID: 14b2de31-b380-394f-a25b-4679e7800c8c Ancestors: Compiler-nice.140
Eliot's fix for http://bugs.squeak.org/view.php?id=7532. See discussion at http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150688.html
=============== Diff against Compiler-nice.140 ===============
Item was changed: ----- Method: Encoder>>encodeVariable:sourceRange:ifUnknown: (in category 'encoding') ----- encodeVariable: name sourceRange: range ifUnknown: action | varNode | + varNode := scopeTable + at: name + ifAbsent: + [(self lookupInPools: name + ifFound: [:assoc | varNode := self global: assoc name: name]) + ifTrue: [varNode] + ifFalse: [^action value]]. + range ifNotNil: + [name first canBeGlobalVarInitial ifTrue: + [globalSourceRanges addLast: { name. range. false }]]. - varNode := scopeTable at: name - ifAbsent: - [(self lookupInPools: name - ifFound: [:assoc | varNode := self global: assoc name: name]) - ifTrue: [varNode] - ifFalse: [^action value]]. - range ifNotNil: [ - name first canBeGlobalVarInitial ifTrue: - [globalSourceRanges addLast: { name. range. false }]. ].
+ (varNode isTemp and: [varNode scope < 0]) ifTrue: + [^OutOfScopeNotification signal + ifTrue: [action value] + ifFalse: [self notify: 'out of scope']]. + ^varNode! - (varNode isTemp and: [varNode scope < 0]) ifTrue: [ - OutOfScopeNotification signal ifFalse: [ ^self notify: 'out of scope']. - ]. - ^ varNode!
squeak-dev@lists.squeakfoundation.org