ObjectViewer Bug in Squeak 2.x ?

Bob Arning arning at charm.net
Tue Aug 10 00:34:42 UTC 1999


On Mon, 9 Aug 1999 16:06:30 -0400 Dean_Swan at Mitel.COM wrote: 
>Evaluating the following expression with "do it..." on any Squeak V2.x system
>I've tried causes the system to lock up to the point that the Squeak VM needs to
>be killed from the host OS.  Evaluating the same expression in Squeak V1.3 works
>fine and operates as expected. (BTW, this is the example from the Class Comment
>for ObjectViewer).  Some kind of "dieing gasp" message comes up that indicates
>something about a message not in the inheritance chain, but since the system
>locks up, debugging this is a bit difficult.
>
>
>     Sensor evaluate: [Sensor cursorPoint printString displayAt: 0 at 0]
>          wheneverChangeIn: [Sensor cursorPoint].

Dean,

I suspect that there has been a recent change that has broken the ObjectViewer, but if you file in the code below, your example works.

Cheers,
Bob

======================================

'From Squeak 2.3 of January 14, 1999 on 9 August 1999 at 8:29:34 pm'!

!Message methodsFor: 'sending' stamp: 'RAA 8/9/1999 20:29'!
sentToExactly: receiver
	"answer the result of sending this message to receiver"

	^ receiver perform: selector withArguments: args! !


!ObjectViewer methodsFor: 'very few messages' stamp: 'RAA 8/9/1999 20:29'!
doesNotUnderstand: aMessage 
	"Check for change after sending aMessage"
	| returnValue newValue |
	recursionFlag ifTrue: [^ aMessage sentToExactly: tracedObject].
	recursionFlag _ true.
	returnValue _ aMessage sentToExactly: tracedObject.
	newValue _ valueBlock value.
	newValue = lastValue ifFalse:
		[changeBlock value.
		lastValue _ newValue].
	recursionFlag _ false.
	^ returnValue! !





More information about the Squeak-dev mailing list