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 -ben




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