[BUG]InfiniteForm(Object)>>doesNotUnderstand: #red

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[BUG]InfiniteForm(Object)>>doesNotUnderstand: #red

narayans
I turned on the graph paper in the world, and then tried to open a
viewer on the world.

4 June 2007 11:37:04 am

VM: Win32 - a SmalltalkImage
Image: OLPC2.0 [latest update: #1349]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\My Squeak\narayans
Trusted Dir C:\olpc-E-Toys\narayans
Untrusted Dir C:\My Squeak\narayans

InfiniteForm(Object)>>doesNotUnderstand: #red
        Receiver: an InfiniteForm
        Arguments and temporary variables:
                t1: red
        Receiver's instance variables:
                patternForm: Form(16x16x16)

UnscriptedPlayer(Player)>>getRed
        Receiver: an UnscriptedPlayer (3407) named world
        Arguments and temporary variables:

        Receiver's instance variables:
                dependents: nil
                costume: a PasteUpMorph<world>(1622) [world]
                costumes: nil

NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
        Receiver: a NumberType named "Number"
        Arguments and temporary variables:
                aTarget: an UnscriptedPlayer (3407) named world
                partName: #getRed
                getter: #getRed
                setter: #setRed:
                aTile: a NumericReadoutTile(2801) - #literal op= ''
                displayer: an UpdatingStringMorph<readout string>(3696)nil
                actualSetter: #setRed:
        Receiver's instance variables:
                authoringStamp: ' 2/16/2007 17:09'
                properties: a Dictionary(#helpMessage->'Numbers are things that can
do arithmet...etc...
                elementSymbol: nil
                naturalLanguageTranslations: nil
                vocabularyName: #Number
                categories: an OrderedCollection(an ElementCategory named comparing
an ElementC...etc...
                methodInterfaces: an IdentityDictionary(#abs->a MethodInterface -
wording: #abs...etc...
                object: nil
                limitClass: nil
                translationTable: nil

CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
        Receiver: a CategoryViewer(2912)
        Arguments and temporary variables:
                t1: #getRed
                t2: #Number
                t3: false
                t4: #getRed
                t5: #setRed:
                t6: nil
                t7: nil
        Receiver's instance variables:
                bounds: 0@0 corner: 50@40
                owner: nil
                submorphs: #(an AlignmentMorph(3081))
                fullBounds: nil
                color: (Color r: 0.946 g: 1.0 b: 0.946)
                extension: a MorphExtensionPlus (3364) [sticky]  [layoutPolicy -
TableLayout]  ...etc...
                borderWidth: 0
                borderColor: (Color r: 0.5 g: 0.7 b: 0.5)
                scriptedPlayer: an UnscriptedPlayer (3407) named world
                namePane: a BorderedMorph(2015)
                chosenCategorySymbol: #color


--- The full stack ---
InfiniteForm(Object)>>doesNotUnderstand: #red
UnscriptedPlayer(Player)>>getRed
NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CategoryViewer>>phraseForVariableFrom:
[] in UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
{[:aMethodInterface | ((resultType := aMethodInterface resultType)
notNil    ...]}
Array(SequenceableCollection)>>collect:
UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
UnscriptedPlayer(Object)>>tilePhrasesForCategory:inViewer:
CategoryViewer>>categoryWording:
CategoryViewer>>chosenCategorySymbol:
CategoryViewer>>chooseCategoryWhoseTranslatedWordingIs:
CategoryViewer>>initializeFor:categoryChoice:
StandardViewer>>categoryViewerFor:
[] in StandardViewer>>addCategoryViewerFor:atEnd: {[aViewer := self
categoryViewerFor: categoryInfo.  atEnd   ifTrue: [self add...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
StandardViewer>>addCategoryViewerFor:atEnd:
StandardViewer>>addCategoryViewerFor:
StandardViewer>>addCategoryViewer
StandardViewer>>initializeFor:barHeight:includeDismissButton:showCategor
ies:
StandardViewer>>initializeFor:barHeight:includeDismissButton:
StandardViewer>>initializeFor:barHeight:
Presenter>>viewMorph:
[] in PasteUpMorph(Morph)>>openViewerForArgument {[self presenter
viewMorph: self]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
PasteUpMorph(Morph)>>openViewerForArgument
HaloMorph>>openViewerForTarget:with:
EventHandler>>send:to:withEvent:fromMorph:
EventHandler>>mouseDown:fromMorph:
ThreePhaseButtonMorph(Morph)>>mouseDown:
ThreePhaseButtonMorph>>mouseDown:
ThreePhaseButtonMorph(Morph)>>handleMouseDown:
MouseButtonEvent>>sentTo:
ThreePhaseButtonMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
ThreePhaseButtonMorph(Morph)>>processEvent:using:
...etc...


Reply | Threaded
Open this post in threaded view
|

Re: [BUG]InfiniteForm(Object)>>doesNotUnderstand: #red

Alan Kay
This is definitely a bug. But it does work in individual playfields.
See if this is a good enough work around for now.

Cheers,

Alan

At 08:39 AM 6/4/2007, [hidden email] wrote:

>I turned on the graph paper in the world, and then tried to open a
>viewer on the world.
>
>4 June 2007 11:37:04 am
>
>VM: Win32 - a SmalltalkImage
>Image: OLPC2.0 [latest update: #1349]
>
>SecurityManager state:
>Restricted: false
>FileAccess: true
>SocketAccess: true
>Working Dir C:\My Squeak\narayans
>Trusted Dir C:\olpc-E-Toys\narayans
>Untrusted Dir C:\My Squeak\narayans
>
>InfiniteForm(Object)>>doesNotUnderstand: #red
>         Receiver: an InfiniteForm
>         Arguments and temporary variables:
>                 t1:     red
>         Receiver's instance variables:
>                 patternForm:    Form(16x16x16)
>
>UnscriptedPlayer(Player)>>getRed
>         Receiver: an UnscriptedPlayer (3407) named world
>         Arguments and temporary variables:
>
>         Receiver's instance variables:
>                 dependents:     nil
>                 costume:        a PasteUpMorph<world>(1622) [world]
>                 costumes:       nil
>
>NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
>         Receiver: a NumberType named "Number"
>         Arguments and temporary variables:
>                 aTarget:        an UnscriptedPlayer (3407) named world
>                 partName:       #getRed
>                 getter:         #getRed
>                 setter:         #setRed:
>                 aTile:  a NumericReadoutTile(2801) - #literal op= ''
>                 displayer:      an UpdatingStringMorph<readout
> string>(3696)nil
>                 actualSetter:   #setRed:
>         Receiver's instance variables:
>                 authoringStamp:         ' 2/16/2007 17:09'
>                 properties:     a Dictionary(#helpMessage->'Numbers
> are things that can
>do arithmet...etc...
>                 elementSymbol:  nil
>                 naturalLanguageTranslations:    nil
>                 vocabularyName:         #Number
>                 categories:     an OrderedCollection(an
> ElementCategory named comparing
>an ElementC...etc...
>                 methodInterfaces:       an
> IdentityDictionary(#abs->a MethodInterface -
>wording: #abs...etc...
>                 object:         nil
>                 limitClass:     nil
>                 translationTable:       nil
>
>CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
>         Receiver: a CategoryViewer(2912)
>         Arguments and temporary variables:
>                 t1:     #getRed
>                 t2:     #Number
>                 t3:     false
>                 t4:     #getRed
>                 t5:     #setRed:
>                 t6:     nil
>                 t7:     nil
>         Receiver's instance variables:
>                 bounds:         0@0 corner: 50@40
>                 owner:  nil
>                 submorphs:      #(an AlignmentMorph(3081))
>                 fullBounds:     nil
>                 color:  (Color r: 0.946 g: 1.0 b: 0.946)
>                 extension:      a MorphExtensionPlus (3364)
> [sticky]  [layoutPolicy -
>TableLayout]  ...etc...
>                 borderWidth:    0
>                 borderColor:    (Color r: 0.5 g: 0.7 b: 0.5)
>                 scriptedPlayer:         an UnscriptedPlayer (3407)
> named world
>                 namePane:       a BorderedMorph(2015)
>                 chosenCategorySymbol:   #color
>
>
>--- The full stack ---
>InfiniteForm(Object)>>doesNotUnderstand: #red
>UnscriptedPlayer(Player)>>getRed
>NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
>CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>CategoryViewer>>phraseForVariableFrom:
>[] in UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
>{[:aMethodInterface | ((resultType := aMethodInterface resultType)
>notNil    ...]}
>Array(SequenceableCollection)>>collect:
>UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
>UnscriptedPlayer(Object)>>tilePhrasesForCategory:inViewer:
>CategoryViewer>>categoryWording:
>CategoryViewer>>chosenCategorySymbol:
>CategoryViewer>>chooseCategoryWhoseTranslatedWordingIs:
>CategoryViewer>>initializeFor:categoryChoice:
>StandardViewer>>categoryViewerFor:
>[] in StandardViewer>>addCategoryViewerFor:atEnd: {[aViewer := self
>categoryViewerFor: categoryInfo.  atEnd   ifTrue: [self add...]}
>BlockContext>>ensure:
>CursorWithMask(Cursor)>>showWhile:
>StandardViewer>>addCategoryViewerFor:atEnd:
>StandardViewer>>addCategoryViewerFor:
>StandardViewer>>addCategoryViewer
>StandardViewer>>initializeFor:barHeight:includeDismissButton:showCategor
>ies:
>StandardViewer>>initializeFor:barHeight:includeDismissButton:
>StandardViewer>>initializeFor:barHeight:
>Presenter>>viewMorph:
>[] in PasteUpMorph(Morph)>>openViewerForArgument {[self presenter
>viewMorph: self]}
>BlockContext>>ensure:
>CursorWithMask(Cursor)>>showWhile:
>PasteUpMorph(Morph)>>openViewerForArgument
>HaloMorph>>openViewerForTarget:with:
>EventHandler>>send:to:withEvent:fromMorph:
>EventHandler>>mouseDown:fromMorph:
>ThreePhaseButtonMorph(Morph)>>mouseDown:
>ThreePhaseButtonMorph>>mouseDown:
>ThreePhaseButtonMorph(Morph)>>handleMouseDown:
>MouseButtonEvent>>sentTo:
>ThreePhaseButtonMorph(Morph)>>handleEvent:
>MorphicEventDispatcher>>dispatchMouseDown:with:
>MorphicEventDispatcher>>dispatchEvent:with:
>ThreePhaseButtonMorph(Morph)>>processEvent:using:
>...etc...


Reply | Threaded
Open this post in threaded view
|

Re: [BUG]InfiniteForm(Object)>>doesNotUnderstand: #red

Karl-19
Alan Kay wrote:
> This is definitely a bug. But it does work in individual playfields.
> See if this is a good enough work around for now.
>
> Cheers,
>
> Alan
Here is a fix

Karl

>
> At 08:39 AM 6/4/2007, [hidden email] wrote:
>> I turned on the graph paper in the world, and then tried to open a
>> viewer on the world.
>>
>> 4 June 2007 11:37:04 am
>>
>> VM: Win32 - a SmalltalkImage
>> Image: OLPC2.0 [latest update: #1349]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir C:\My Squeak\narayans
>> Trusted Dir C:\olpc-E-Toys\narayans
>> Untrusted Dir C:\My Squeak\narayans
>>
>> InfiniteForm(Object)>>doesNotUnderstand: #red
>>         Receiver: an InfiniteForm
>>         Arguments and temporary variables:
>>                 t1:     red
>>         Receiver's instance variables:
>>                 patternForm:    Form(16x16x16)
>>
>> UnscriptedPlayer(Player)>>getRed
>>         Receiver: an UnscriptedPlayer (3407) named world
>>         Arguments and temporary variables:
>>
>>         Receiver's instance variables:
>>                 dependents:     nil
>>                 costume:        a PasteUpMorph<world>(1622) [world]
>>                 costumes:       nil
>>
>> NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
>>         Receiver: a NumberType named "Number"
>>         Arguments and temporary variables:
>>                 aTarget:        an UnscriptedPlayer (3407) named world
>>                 partName:       #getRed
>>                 getter:         #getRed
>>                 setter:         #setRed:
>>                 aTile:  a NumericReadoutTile(2801) - #literal op= ''
>>                 displayer:      an UpdatingStringMorph<readout
>> string>(3696)nil
>>                 actualSetter:   #setRed:
>>         Receiver's instance variables:
>>                 authoringStamp:         ' 2/16/2007 17:09'
>>                 properties:     a Dictionary(#helpMessage->'Numbers
>> are things that can
>> do arithmet...etc...
>>                 elementSymbol:  nil
>>                 naturalLanguageTranslations:    nil
>>                 vocabularyName:         #Number
>>                 categories:     an OrderedCollection(an
>> ElementCategory named comparing
>> an ElementC...etc...
>>                 methodInterfaces:       an IdentityDictionary(#abs->a
>> MethodInterface -
>> wording: #abs...etc...
>>                 object:         nil
>>                 limitClass:     nil
>>                 translationTable:       nil
>>
>> CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
>>         Receiver: a CategoryViewer(2912)
>>         Arguments and temporary variables:
>>                 t1:     #getRed
>>                 t2:     #Number
>>                 t3:     false
>>                 t4:     #getRed
>>                 t5:     #setRed:
>>                 t6:     nil
>>                 t7:     nil
>>         Receiver's instance variables:
>>                 bounds:         0@0 corner: 50@40
>>                 owner:  nil
>>                 submorphs:      #(an AlignmentMorph(3081))
>>                 fullBounds:     nil
>>                 color:  (Color r: 0.946 g: 1.0 b: 0.946)
>>                 extension:      a MorphExtensionPlus (3364) [sticky]  
>> [layoutPolicy -
>> TableLayout]  ...etc...
>>                 borderWidth:    0
>>                 borderColor:    (Color r: 0.5 g: 0.7 b: 0.5)
>>                 scriptedPlayer:         an UnscriptedPlayer (3407)
>> named world
>>                 namePane:       a BorderedMorph(2015)
>>                 chosenCategorySymbol:   #color
>>
>>
>> --- The full stack ---
>> InfiniteForm(Object)>>doesNotUnderstand: #red
>> UnscriptedPlayer(Player)>>getRed
>> NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
>> CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
>>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> CategoryViewer>>phraseForVariableFrom:
>> [] in UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
>> {[:aMethodInterface | ((resultType := aMethodInterface resultType)
>> notNil    ...]}
>> Array(SequenceableCollection)>>collect:
>> UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
>> UnscriptedPlayer(Object)>>tilePhrasesForCategory:inViewer:
>> CategoryViewer>>categoryWording:
>> CategoryViewer>>chosenCategorySymbol:
>> CategoryViewer>>chooseCategoryWhoseTranslatedWordingIs:
>> CategoryViewer>>initializeFor:categoryChoice:
>> StandardViewer>>categoryViewerFor:
>> [] in StandardViewer>>addCategoryViewerFor:atEnd: {[aViewer := self
>> categoryViewerFor: categoryInfo.  atEnd   ifTrue: [self add...]}
>> BlockContext>>ensure:
>> CursorWithMask(Cursor)>>showWhile:
>> StandardViewer>>addCategoryViewerFor:atEnd:
>> StandardViewer>>addCategoryViewerFor:
>> StandardViewer>>addCategoryViewer
>> StandardViewer>>initializeFor:barHeight:includeDismissButton:showCategor
>> ies:
>> StandardViewer>>initializeFor:barHeight:includeDismissButton:
>> StandardViewer>>initializeFor:barHeight:
>> Presenter>>viewMorph:
>> [] in PasteUpMorph(Morph)>>openViewerForArgument {[self presenter
>> viewMorph: self]}
>> BlockContext>>ensure:
>> CursorWithMask(Cursor)>>showWhile:
>> PasteUpMorph(Morph)>>openViewerForArgument
>> HaloMorph>>openViewerForTarget:with:
>> EventHandler>>send:to:withEvent:fromMorph:
>> EventHandler>>mouseDown:fromMorph:
>> ThreePhaseButtonMorph(Morph)>>mouseDown:
>> ThreePhaseButtonMorph>>mouseDown:
>> ThreePhaseButtonMorph(Morph)>>handleMouseDown:
>> MouseButtonEvent>>sentTo:
>> ThreePhaseButtonMorph(Morph)>>handleEvent:
>> MorphicEventDispatcher>>dispatchMouseDown:with:
>> MorphicEventDispatcher>>dispatchEvent:with:
>> ThreePhaseButtonMorph(Morph)>>processEvent:using:
>> ...etc...
>
>
>



Player.kfr.1.cs.gz (530 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [BUG]InfiniteForm(Object)>>doesNotUnderstand: #red

Scott Wallace-3
In reply to this post by narayans
For closure...  This was an olpc-only bug, now fixed in the olpc2.0  
update stream by update 1359nonColors-sw.  The bug should not affect  
non-olpc users, except those using World Stethoscope.

Cheers,

   -- Scott


On Jun 4, 2007, at 8:39 AM, [hidden email] wrote:

> I turned on the graph paper in the world, and then tried to open a
> viewer on the world.
>
> 4 June 2007 11:37:04 am
>
> VM: Win32 - a SmalltalkImage
> Image: OLPC2.0 [latest update: #1349]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir C:\My Squeak\narayans
> Trusted Dir C:\olpc-E-Toys\narayans
> Untrusted Dir C:\My Squeak\narayans
>
> InfiniteForm(Object)>>doesNotUnderstand: #red
> Receiver: an InfiniteForm
> Arguments and temporary variables:
> t1: red
> Receiver's instance variables:
> patternForm: Form(16x16x16)
>
> UnscriptedPlayer(Player)>>getRed
> Receiver: an UnscriptedPlayer (3407) named world
> Arguments and temporary variables:
>
> Receiver's instance variables:
> dependents: nil
> costume: a PasteUpMorph<world>(1622) [world]
> costumes: nil
>
> NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
> Receiver: a NumberType named "Number"
> Arguments and temporary variables:
> aTarget: an UnscriptedPlayer (3407) named world
> partName: #getRed
> getter: #getRed
> setter: #setRed:
> aTile: a NumericReadoutTile(2801) - #literal op= ''
> displayer: an UpdatingStringMorph<readout string>(3696)nil
> actualSetter: #setRed:
> Receiver's instance variables:
> authoringStamp: ' 2/16/2007 17:09'
> properties: a Dictionary(#helpMessage->'Numbers are things that can
> do arithmet...etc...
> elementSymbol: nil
> naturalLanguageTranslations: nil
> vocabularyName: #Number
> categories: an OrderedCollection(an ElementCategory named comparing
> an ElementC...etc...
> methodInterfaces: an IdentityDictionary(#abs->a MethodInterface -
> wording: #abs...etc...
> object: nil
> limitClass: nil
> translationTable: nil
>
> CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
> Receiver: a CategoryViewer(2912)
> Arguments and temporary variables:
> t1: #getRed
> t2: #Number
> t3: false
> t4: #getRed
> t5: #setRed:
> t6: nil
> t7: nil
> Receiver's instance variables:
> bounds: 0@0 corner: 50@40
> owner: nil
> submorphs: #(an AlignmentMorph(3081))
> fullBounds: nil
> color: (Color r: 0.946 g: 1.0 b: 0.946)
> extension: a MorphExtensionPlus (3364) [sticky]  [layoutPolicy -
> TableLayout]  ...etc...
> borderWidth: 0
> borderColor: (Color r: 0.5 g: 0.7 b: 0.5)
> scriptedPlayer: an UnscriptedPlayer (3407) named world
> namePane: a BorderedMorph(2015)
> chosenCategorySymbol: #color
>
>
> --- The full stack ---
> InfiniteForm(Object)>>doesNotUnderstand: #red
> UnscriptedPlayer(Player)>>getRed
> NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
> CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> CategoryViewer>>phraseForVariableFrom:
> [] in UnscriptedPlayer(Object)
> >>tilePhrasesForMethodInterfaces:inViewer:
> {[:aMethodInterface | ((resultType := aMethodInterface resultType)
> notNil    ...]}
> Array(SequenceableCollection)>>collect:
> UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
> UnscriptedPlayer(Object)>>tilePhrasesForCategory:inViewer:
> CategoryViewer>>categoryWording:
> CategoryViewer>>chosenCategorySymbol:
> CategoryViewer>>chooseCategoryWhoseTranslatedWordingIs:
> CategoryViewer>>initializeFor:categoryChoice:
> StandardViewer>>categoryViewerFor:
> [] in StandardViewer>>addCategoryViewerFor:atEnd: {[aViewer := self
> categoryViewerFor: categoryInfo.  atEnd   ifTrue: [self add...]}
> BlockContext>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> StandardViewer>>addCategoryViewerFor:atEnd:
> StandardViewer>>addCategoryViewerFor:
> StandardViewer>>addCategoryViewer
> StandardViewer>>initializeFor:barHeight:includeDismissButton:showCateg
> or
> ies:
> StandardViewer>>initializeFor:barHeight:includeDismissButton:
> StandardViewer>>initializeFor:barHeight:
> Presenter>>viewMorph:
> [] in PasteUpMorph(Morph)>>openViewerForArgument {[self presenter
> viewMorph: self]}
> BlockContext>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> PasteUpMorph(Morph)>>openViewerForArgument
> HaloMorph>>openViewerForTarget:with:
> EventHandler>>send:to:withEvent:fromMorph:
> EventHandler>>mouseDown:fromMorph:
> ThreePhaseButtonMorph(Morph)>>mouseDown:
> ThreePhaseButtonMorph>>mouseDown:
> ThreePhaseButtonMorph(Morph)>>handleMouseDown:
> MouseButtonEvent>>sentTo:
> ThreePhaseButtonMorph(Morph)>>handleEvent:
> MorphicEventDispatcher>>dispatchMouseDown:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> ThreePhaseButtonMorph(Morph)>>processEvent:using:
> ...etc...
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Squeakland] [BUG]InfiniteForm(Object)>>doesNotUnderstand: #red

Yoshiki Ohshima
In reply to this post by Karl-19
  Karl,

  We looked at your change, and Scott also proposed another change,
and Scott made a version that is sort of a unification of both.  Take
a look at 1359nonColors-sw.cs in the OLPC image.

-- Yoshiki

At Tue, 05 Jun 2007 00:23:40 +0200,
karl wrote:

>
> Alan Kay wrote:
> > This is definitely a bug. But it does work in individual playfields.
> > See if this is a good enough work around for now.
> >
> > Cheers,
> >
> > Alan
> Here is a fix
>
> Karl
> >
> > At 08:39 AM 6/4/2007, [hidden email] wrote:
> >> I turned on the graph paper in the world, and then tried to open a
> >> viewer on the world.
> >>
> >> 4 June 2007 11:37:04 am
> >>
> >> VM: Win32 - a SmalltalkImage
> >> Image: OLPC2.0 [latest update: #1349]
> >>
> >> SecurityManager state:
> >> Restricted: false
> >> FileAccess: true
> >> SocketAccess: true
> >> Working Dir C:\My Squeak\narayans
> >> Trusted Dir C:\olpc-E-Toys\narayans
> >> Untrusted Dir C:\My Squeak\narayans
> >>
> >> InfiniteForm(Object)>>doesNotUnderstand: #red
> >>         Receiver: an InfiniteForm
> >>         Arguments and temporary variables:
> >>                 t1:     red
> >>         Receiver's instance variables:
> >>                 patternForm:    Form(16x16x16)
> >>
> >> UnscriptedPlayer(Player)>>getRed
> >>         Receiver: an UnscriptedPlayer (3407) named world
> >>         Arguments and temporary variables:
> >>
> >>         Receiver's instance variables:
> >>                 dependents:     nil
> >>                 costume:        a PasteUpMorph<world>(1622) [world]
> >>                 costumes:       nil
> >>
> >> NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
> >>         Receiver: a NumberType named "Number"
> >>         Arguments and temporary variables:
> >>                 aTarget:        an UnscriptedPlayer (3407) named world
> >>                 partName:       #getRed
> >>                 getter:         #getRed
> >>                 setter:         #setRed:
> >>                 aTile:  a NumericReadoutTile(2801) - #literal op= ''
> >>                 displayer:      an UpdatingStringMorph<readout
> >> string>(3696)nil
> >>                 actualSetter:   #setRed:
> >>         Receiver's instance variables:
> >>                 authoringStamp:         ' 2/16/2007 17:09'
> >>                 properties:     a Dictionary(#helpMessage->'Numbers
> >> are things that can
> >> do arithmet...etc...
> >>                 elementSymbol:  nil
> >>                 naturalLanguageTranslations:    nil
> >>                 vocabularyName:         #Number
> >>                 categories:     an OrderedCollection(an
> >> ElementCategory named comparing
> >> an ElementC...etc...
> >>                 methodInterfaces:       an IdentityDictionary(#abs->a
> >> MethodInterface -
> >> wording: #abs...etc...
> >>                 object:         nil
> >>                 limitClass:     nil
> >>                 translationTable:       nil
> >>
> >> CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
> >>         Receiver: a CategoryViewer(2912)
> >>         Arguments and temporary variables:
> >>                 t1:     #getRed
> >>                 t2:     #Number
> >>                 t3:     false
> >>                 t4:     #getRed
> >>                 t5:     #setRed:
> >>                 t6:     nil
> >>                 t7:     nil
> >>         Receiver's instance variables:
> >>                 bounds:         0@0 corner: 50@40
> >>                 owner:  nil
> >>                 submorphs:      #(an AlignmentMorph(3081))
> >>                 fullBounds:     nil
> >>                 color:  (Color r: 0.946 g: 1.0 b: 0.946)
> >>                 extension:      a MorphExtensionPlus (3364) [sticky]  
> >> [layoutPolicy -
> >> TableLayout]  ...etc...
> >>                 borderWidth:    0
> >>                 borderColor:    (Color r: 0.5 g: 0.7 b: 0.5)
> >>                 scriptedPlayer:         an UnscriptedPlayer (3407)
> >> named world
> >>                 namePane:       a BorderedMorph(2015)
> >>                 chosenCategorySymbol:   #color
> >>
> >>
> >> --- The full stack ---
> >> InfiniteForm(Object)>>doesNotUnderstand: #red
> >> UnscriptedPlayer(Player)>>getRed
> >> NumberType(DataType)>>updatingTileForTarget:partName:getter:setter:
> >> CategoryViewer>>readoutFor:type:readOnly:getSelector:putSelector:
> >>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >> CategoryViewer>>phraseForVariableFrom:
> >> [] in UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
> >> {[:aMethodInterface | ((resultType := aMethodInterface resultType)
> >> notNil    ...]}
> >> Array(SequenceableCollection)>>collect:
> >> UnscriptedPlayer(Object)>>tilePhrasesForMethodInterfaces:inViewer:
> >> UnscriptedPlayer(Object)>>tilePhrasesForCategory:inViewer:
> >> CategoryViewer>>categoryWording:
> >> CategoryViewer>>chosenCategorySymbol:
> >> CategoryViewer>>chooseCategoryWhoseTranslatedWordingIs:
> >> CategoryViewer>>initializeFor:categoryChoice:
> >> StandardViewer>>categoryViewerFor:
> >> [] in StandardViewer>>addCategoryViewerFor:atEnd: {[aViewer := self
> >> categoryViewerFor: categoryInfo.  atEnd   ifTrue: [self add...]}
> >> BlockContext>>ensure:
> >> CursorWithMask(Cursor)>>showWhile:
> >> StandardViewer>>addCategoryViewerFor:atEnd:
> >> StandardViewer>>addCategoryViewerFor:
> >> StandardViewer>>addCategoryViewer
> >> StandardViewer>>initializeFor:barHeight:includeDismissButton:showCategor
> >> ies:
> >> StandardViewer>>initializeFor:barHeight:includeDismissButton:
> >> StandardViewer>>initializeFor:barHeight:
> >> Presenter>>viewMorph:
> >> [] in PasteUpMorph(Morph)>>openViewerForArgument {[self presenter
> >> viewMorph: self]}
> >> BlockContext>>ensure:
> >> CursorWithMask(Cursor)>>showWhile:
> >> PasteUpMorph(Morph)>>openViewerForArgument
> >> HaloMorph>>openViewerForTarget:with:
> >> EventHandler>>send:to:withEvent:fromMorph:
> >> EventHandler>>mouseDown:fromMorph:
> >> ThreePhaseButtonMorph(Morph)>>mouseDown:
> >> ThreePhaseButtonMorph>>mouseDown:
> >> ThreePhaseButtonMorph(Morph)>>handleMouseDown:
> >> MouseButtonEvent>>sentTo:
> >> ThreePhaseButtonMorph(Morph)>>handleEvent:
> >> MorphicEventDispatcher>>dispatchMouseDown:with:
> >> MorphicEventDispatcher>>dispatchEvent:with:
> >> ThreePhaseButtonMorph(Morph)>>processEvent:using:
> >> ...etc...
> >
> >
> >
>