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]