Try the following line of code in both 3.5 and 3.6:
[1/0] on: Error do: [:e | e signal]
In 3.5, when the debugger comes up, the top context is the send to #/. In 3.6, it is the handler block, with the send to #/ several frames down.
Which is correct? I personally much prefer the 3.5 behavior.
Another symptom of what I think is the same bug:
[1/0. self inform: 'inner'] on: Error do: [:e | e defaultAction. self inform: 'outer'].
Try this code. When the notifier pops up, click Proceed.
In 3.5, you will see 'inner'. In 3.6, you will see 'outer'.
Again, I would prefer the 3.5 behavior here.
Does anyone know what exactly has changed, and how easy it is to fix?
If this is another symptom of the problem with #outer not working perhaps we could actually fix it? Kind of bad to have an incapacitated exception handling mechanism.
squeak-dev@lists.squeakfoundation.org