On 03 Apr 2015, at 14:03, Nicolai Hess <nicolaihess@web.de> wrote:2015-04-02 16:06 GMT+02:00 Max Leske <maxleske@gmail.com>:On 02 Apr 2015, at 00:29, Nicolai Hess <nicolaihess@web.de> wrote:2015-04-01 18:56 GMT+02:00 Ben Coman <btc@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 -benHere 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: 23Both inspector windows should show the same value for the argument 'x'.But the result is1. inspector -> 12. inspector -> 23Before 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 1with the message value:1 value:23and the block argument value can not change, therefore both inspect should show ���1'
Max