Eliot Miranda uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-eem.746.mcz
==================== Summary ====================
Name: Morphic-eem.746 Author: eem Time: 6 October 2014, 1:09:34.182 pm UUID: c9ae704e-6a58-40b8-a998-72392d0cff6e Ancestors: Morphic-ul.745
Fix debugging of optimized expressions.
=============== Diff against Morphic-ul.745 ===============
Item was changed: ----- Method: TextEditor>>debug:receiver:in: (in category 'do-its') ----- debug: aCompiledMethod receiver: anObject in: evalContext
+ | guineaPig debugger debuggerWindow context | - | guineaPig debugger context | guineaPig := [ aCompiledMethod valueWithReceiver: anObject arguments: (evalContext ifNil: [ #() ] ifNotNil: [ { evalContext } ]) ] newProcess. context := guineaPig suspendedContext. debugger := Debugger new process: guineaPig controller: nil context: context. + debuggerWindow := debugger openFullNoSuspendLabel: 'Debug it'. + "Now step into the expression. But if it is quick (is implemented as a primtiive, e.g. `0') + it will return immediately back to the block that is sent newProcess above. Guard + against that with the check for home being thisContext." + [debugger interruptedContext method == aCompiledMethod] + whileFalse: + [debugger interruptedContext home == thisContext ifTrue: + [debuggerWindow delete. + UIManager default inform: 'Nothing to debug; expression is optimized'. + ^self]. + debugger send]! - debugger openFullNoSuspendLabel: 'Debug it'. - [ debugger interruptedContext method == aCompiledMethod ] - whileFalse: [ debugger send ]!
packages@lists.squeakfoundation.org