Be careful that #isBehavior is false for Traits :). To fix I think. On Tue, Apr 17, 2012 at 1:41 PM, Tobias Pape <Das.Linux@gmx.de> 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]