2015-04-02 16:06 GMT+02:00 Max Leske <maxle...@gmail.com>: > > On 02 Apr 2015, at 00:29, Nicolai Hess <nicolaih...@web.de> wrote: > > 2015-04-01 18:56 GMT+02:00 Ben Coman <b...@openinworld.com>: > >> Issue 14606 [1] is tagged "Really Important" where evaluating.... >> >> | t1 t2 t3 t4 t5 t6 | >> t1 := 1. >> t2 := 2. >> t3 := 3. >> t4 := 4. >> t5 := 5 . >> t6 := 6. >> [ t5 := 50. >> t6 := 60. >> t3 + t4. >> 1 halt. >> ] value >> >> => can't see the value of t4, t5, t6. >> >> I've just submitted a possible solution for this, but its a bit late >> before release for such a change - so I'm asking for "all hands in" to help >> stress test it. You don't need to review code, just please merge latest >> slice 14606 into your normal working image and report your experience. >> >> cheers -ben >> >> [1] https://pharo.fogbugz.com/default.asp?14606#124466 >> >> > > Here is a minimal example that does not work with your fix. (condensed > from the failing test case) > > [ :x :y | > (thisContext tempNamed: 'x') inspect. > (1 to: 1) > do: [ :i | > | k l | > k := y. > l := x. > (thisContext tempNamed: 'x') inspect ] ] value: 1 value: 23 > > Both inspector windows should show the same value for the argument 'x'. > But the result is > 1. inspector -> 1 > 2. inspector -> 23 > > > > Before loading the slice, both inspectors show ‘1’. That can’t be right > either… >
No, that is correct. Both inspector inspect the block argument 'x', it is assigned with value 1 with the message value:1 value:23 and the block argument value can not change, therefore both inspect should show '1' > > Max >