[BUG][Monticello]String(Object)>>doesNotUnderstand: #position
Avi Bryant
avi at beta4.com
Mon Mar 8 23:18:04 UTC 2004
This is related to a recent fix that went into 3.7a. When I get home
tonight I'll release a new version of MC that takes care of this.
On Mar 8, 2004, at 6:24 AM, rrobbes at info.unicaen.fr wrote:
> 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
|