This is another one that is weird. When I debug some code by introducing a self break statement, I usually get the values of the variables shown in the bottom of the debugger all messed up. It should be noted that "doiting" something which has self break opens a different debugger than debuging code directly.
Here is an example to reproduce it. Maybe somebody has already opened a ticket for this problem. To try you can doit the following code and look at the values shown of x and y in the bottom left list of debugger.
AClassToTest doSomeThingWith: 14@17.
after creating AClassToTest:
'From Pharo0.1 of 16 May 2008 [Latest update: #10373] on 4 August 2009 at 1:07:23 am'!
Object subclass: #AClassToTest
������ instanceVariableNames: ''
������ classVariableNames: ''
������ poolDictionaries: ''
������ category: 'BreakPointBroken'!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
AClassToTest class
������ instanceVariableNames: ''!
!AClassToTest class methodsFor: 'as yet unclassified' stamp: 'JEP 8/4/2009 00:29'!
do: aBoolean ifTrue: tBlock ifFalse: fBlock
������ aBoolean ifTrue: tBlock ifFalse: fBlock.
������ ^true.
������ ! !
!AClassToTest class methodsFor: 'as yet unclassified' stamp: 'JEP 8/4/2009 00:53'!
doSomeThingWith: aPoint
������ | x y |
������ self break.
������
������ self do: false ifTrue: [
������ ������ x := aPoint x.
������ ������ y := aPoint y.
������ ] ifFalse: [ 1 + 1. ].
������ ^x.
������ ! !
--
Javier Pim��s
Ciudad de Buenos Aires