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]