Status: FixedWaitingToBePharoed
Owner:
[hidden email]
Labels: Milestone-1.4
New issue 4317 by
[hidden email]: Don't install doits into
MethodDictionaries.
http://code.google.com/p/pharo/issues/detail?id=4317Don't install doits into MethodDictionaries.
We have the same on SmalltalkEditor
Stef
=============== 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!
_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker