Be careful that #isBehavior is false for Traits :).  To fix I think.

On Tue, Apr 17, 2012 at 1:41 PM, Tobias Pape <[email protected]> wrote:

>
> Am 2012-04-17 um 12:50 schrieb Mariano Martinez Peck:
>
> > Hi guys. In Fuel, we need to identity which globals present in Smalltalk
> globals are NOT classes or traits, because we need to manage them as
> globals. So far we have a hardcoded list:
> >
> > defaultGlobalSymbols
> >
> >     ^ #(#Smalltalk #SourceFiles #Transcript #Undeclared #Display
> #TextConstants #ActiveWorld #ActiveHand #ActiveEvent #Sensor #Processor
> #ImageImports #SystemOrganization #World)
> >
> > So...as every hardcoded stuff, this is not nice because as soon as
> globals change, we need to fix this. So it would be nice if the system
> (pharo) can provide us this information.
> >
> > What do you think?
>
> What about just asking whether the Associaction values are Behavior:
>
> defaultGlobalSymbols
>
>    ^ (self environment "or 'Smalltalk globals' or 'Smalltalk', to your
> taste"
>        select: [:g | g isBehavior not]) keys
>
> In my Squeak4.3 this yields
>
>  #(#SourceFiles #Display #Processor #World #Smalltalk #Sensor
> #ImageImports #ActiveEvent #ScheduledControllers #ScriptingSystem
> #ActiveHand #Undeclared #ActiveWorld #CustomEventsRegistry #TextConstants
> #References #Transcript #SystemOrganization)
>
>
> Bes
>        -Tobias
>
> PS: for the interested ones, here with values:
> #ActiveEvent->[keystroke '<Cmd-p>']
> #ActiveHand->a HandMorph(3216)
> #ActiveWorld->a PasteUpMorph(1622) [world]
> #CustomEventsRegistry->an IdentityDictionary( "stuff" )
> #Display->DisplayScreen(800x600x32)
> #ImageImports->a Dictionary()
> #Processor->a ProcessorScheduler
> #References->an IdentityDictionary()
> #ScheduledControllers->nil
> #ScriptingSystem->a StandardScriptingSystem
> #Sensor->an EventSensor
> #Smalltalk->Smalltalk
> #SourceFiles->an ExpandedSourceFileArray( "stuff" )
> #SystemOrganization->( "stuff" )
> #TextConstants->a Dictionary(size 107)
> #Transcript->a TranscriptStream ''
> #Undeclared->a Dictionary()
> #World->a PasteUpMorph(1622) [world]
>
>
>

Reply via email to