[squeak-dev] The Inbox: Tools-ul.357.mcz
Tobias Pape
Das.Linux at gmx.de
Sun May 29 18:47:03 UTC 2011
Just out of curiosity:
why guineaPig ?
Best
-Tobias
Am 2011-05-29 um 17:51 schrieb commits at source.squeak.org:
> 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!
>
>
More information about the Squeak-dev
mailing list
|