A new version of Tools was added to project The Inbox: http://source.squeak.org/inbox/Tools-ul.357.mcz
==================== Summary ====================
Name: Tools-ul.357 Author: ul Time: 29 May 2011, 7:51:18.372 pm UUID: 9b7529a4-621a-0440-b9aa-3d99daefe41e Ancestors: Tools-ul.356
Don't install doits into MethodDictionaries.
=============== Diff against Tools-ul.356 ===============
Item was changed: ----- Method: ParagraphEditor>>debug:receiver:in: (in category '*Tools') ----- debug: aCompiledMethod receiver: anObject in: evalContext
+ | guineaPig debugger context | + guineaPig := [ + anObject "Use primitive 188, because primitive 189 escapes the debugger somehow." + withArgs: (evalContext ifNil: [ #() ] ifNotNil: [ { evalContext } ]) + executeMethod: aCompiledMethod ] newProcess. - | selector guineaPig debugger context | - selector := evalContext isNil ifTrue: [#DoIt] ifFalse: [#DoItIn:]. - anObject class addSelectorSilently: selector withMethod: aCompiledMethod. - guineaPig := evalContext isNil - ifTrue: [[anObject DoIt] newProcess] - ifFalse: [[anObject DoItIn: evalContext] newProcess]. context := guineaPig suspendedContext. debugger := Debugger new process: guineaPig controller: ((Smalltalk isMorphic not and: [ScheduledControllers inActiveControllerProcess]) ifTrue: [ScheduledControllers activeController] ifFalse: [nil]) context: context. debugger openFullNoSuspendLabel: 'Debug it'. [debugger interruptedContext method == aCompiledMethod] + whileFalse: [debugger send]! - whileFalse: [debugger send]. - anObject class basicRemoveSelector: selector!
squeak-dev@lists.squeakfoundation.org