Problems with "Hiding the Debugger invocation logic from user"
the thing I am trying to describe by the subject is the "feature" that when you do something like "self halt" anywhere, the Debugger will not show its "private" invocation stack (this includes the whole Halt and UnhandledError signaling up to the opening
of the debugger). This seems to be implemented in StandardToolSet >> #handleError: where "anError signalerContext" is passed to the Process.
However, there are two limitations of this effects currently:
First, when you do "self halt" and expand the debugger, the "Where" button does not work until you press "Over" twice. (Found by Marcel)
Second, I just discovered the following issue:
Do "self halt"
Expand the debugger
Press over, over, restart, into, over.
Instead of "UndefinedObject>>DoIt", the control is given to a handler block in Context>>#runUntilErrorOrReturnFrom: now!
Imho this is a clear bug, because the "Squeak end-user" should not be revealed this confusing implementation detail of the Debugger.
I did not yet investigate the whole store of these issues, but one option might be this: After the debugger has been opened, it could directly do something like
process completeTo: context
(from the Debugger process, of course).
But that does not solve the whole problem, so I would appreciate your help on how to fix these problems. :-)