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

Yoshiki Ohshima yoshiki at squeakland.org
Tue Jun 12 22:40:39 UTC 2007


  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, narayans at uncw.edu 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 at 0 corner: 50 at 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...
> >
> >
> >
> 



More information about the Squeak-dev mailing list