[BUG][Monticello]String(Object)>>doesNotUnderstand: #position

rrobbes at info.unicaen.fr rrobbes at info.unicaen.fr
Mon Mar 8 14:24:25 UTC 2004


While trying to load a package I have made in another image, I
encoutered the following bug :
This seems to happen when a class has a comment (so you want us to
comment squeak,
but we can't load commented classes ? ;-) ).
This seems to happen in MCStReader >> commentStampFor: aPseudoClass

commentStampFor: aPseudoClass
	| comment |
	comment _ aPseudoClass organization classComment.
	^ comment = ''
		ifFalse: [comment stamp]
		
An instance of ChangeRecord is compared to a String.
doing : 
^ comment asString = ''
		ifFalse: [comment stamp]
		
seems to solve the problem

I'm not a long-time monticello user, so excuse me if this bug is
allready corrected ...
(I heard of a bug looking like this one earlier, but I seem to have the
latest version of
monticello. Correct me if i'm wrong)

	Romain
	
As allways, here's the stack trace :

8 March 2004 3:11:19 pm

VM: Mac OS - a SmalltalkImage
Image: Squeak3.7alpha [latest update: #5762]

String(Object)>>doesNotUnderstand: #position
	Receiver: ''
	Arguments and temporary variables: 
		aMessage: 	position
	Receiver's instance variables: 
''

ChangeRecord>>=
	Receiver: a ChangeRecord
	Arguments and temporary variables: 
		anotherChangeRecord: 	''
	Receiver's instance variables: 
		file: 	a ReadStream '!!

SystemOrganization addCategory: #Assertions!

TestCase ...etc...
		position: 	2779
		type: 	#classComment
		class: 	#AssertionFailedError
		category: 	nil
		meta: 	false
		stamp: 	'rr 3/8/2004 13:52'

MCStReader>>commentStampFor:
	Receiver: a MCStReader
	Arguments and temporary variables: 
		aPseudoClass: 	a PseudoClass(#AssertionFailedError)
		comment: 	a ChangeRecord
	Receiver's instance variables: 
		stream: 	a RWBinaryOrTextStream 'SystemOrganization addCategory:
#Assertions!

T...etc...
		definitions: 	an OrderedCollection()

MCStReader>>DoItIn:
	Receiver: a MCStReader
	Arguments and temporary variables: 
		aPseudoClass: 	MCStReader>>classDefinitionFrom:
	Receiver's instance variables: 
		stream: 	a RWBinaryOrTextStream 'SystemOrganization addCategory:
#Assertions!

T...etc...
		definitions: 	an OrderedCollection()


--- The full stack ---
String(Object)>>doesNotUnderstand: #position
ChangeRecord>>=
MCStReader>>commentStampFor:
MCStReader>>DoItIn:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class
evaluatorClass new   evaluate: self selection string   in: ctxt ...]}
BlockContext>>on:do:
TextMorphEditor(ParagraphEditor)>>evaluateSelection
TextMorphEditor(ParagraphEditor)>>inspectIt
TextMorphEditor>>inspectIt:
TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
TextMorphEditor>>dispatchOnCharacter:with:
TextMorphEditor(ParagraphEditor)>>readKeyboard
TextMorphEditor>>readKeyboard
[] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor
readKeyboard]}
TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
TextMorphForEditView>>handleInteraction:fromEvent:
TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView>>keyStroke:
TextMorphForEditView(TextMorph)>>handleKeystroke:
KeyboardEvent>>sentTo:
TextMorphForEditView(Morph)>>handleEvent:
TextMorphForEditView(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. 
ActiveEvent := anEvent.  result := focusHolder     han...]}
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendKeyboardEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h
processEvents.  h isGenieRecognizing   ifTrue: [r...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor
yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor
terminateActive]}



More information about the Squeak-dev mailing list