Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 144612 messages
Re: [Pharo-project] DNU rootsOfTheWorld
by Adrian Lienhard
On Jun 14, 2008, at 13:36 , Stéphane Ducasse wrote:
> ok let us kill it then.
yes
Adrian
>
>
> stef
>
> On Jun 14, 2008, at 1:23 PM, Norbert Hartl wrote:
>
>> On Sat, 2008-06-14 at 12:48 +0200, Norbert Hartl wrote:
>>> On Sat, 2008-06-14 at 12:42 +0200, Stéphane Ducasse wrote:
>>>> Adrian why did you remove the test for rootsOfTheWorld because it
>>>> describes that rootsOfTheWorld does I will reintroduce it.
>>>> if this is ok ?
>>>>
>>> No, not really. testRootsOfTheWorld will fail as there are 3 classes
>>> set up for TraitsTest that have superclass nil.
>>>
>>> Maybe the best fix is as Adrian suggested that the test classes
>>> which are set up for TraitsTest become Object superclass instead
>>> of ProtoObject.
>>>
>>> I could do the change.
>>>
>> After all the test is not easy to succeed. TraitsTest sets up 3
>> classes so
>>
>> Class rootsOfTheWorld
>>
>> will be 6 during test run and 3 afterwards. The second line of the
>> test is completely useless as rootsOfTheWorld does a check if the
>> superclass is nil.
>>
>> Norbert
>>> Norbert
>>>> On Jun 14, 2008, at 9:56 AM, Adrian Lienhard wrote:
>>>>
>>>>>
>>>>> On Jun 13, 2008, at 17:54 , Stéphane Ducasse wrote:
>>>>>
>>>>>> Yes it is used by OB-Refactoring and other and the refactoring
>>>>>> engine.
>>>>>> May be it shoudl be packaged there.
>>>>>
>>>>> I checked the refactoring engine and this method is used in
>>>>> various
>>>>> places. So the simplest thing to do was to add it back to the
>>>>> Pharo
>>>>> image.
>>>>>
>>>>> Stef, I published a new version of the package SLICE-test-fixes-
>>>>> al.2.
>>>>>
>>>>> Adrian
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>> Stef
>>>>>> On Jun 13, 2008, at 5:36 PM, Adrian Lienhard wrote:
>>>>>>
>>>>>>> hm, I checked that there are no senders of this method before
>>>>>>> removing it.
>>>>>>> How can I reproduce it? i.e., what means "open an environment to
>>>>>>> apply refactoring"?
>>>>>>>
>>>>>>> Is this the refactoring browser? If yes, then it might be a good
>>>>>>> idea to move the method there if it is not used elsewhere.
>>>>>>>
>>>>>>> Adrian
>>>>>>>
>>>>>>> On Jun 13, 2008, at 13:56 , Stéphane Ducasse wrote:
>>>>>>>
>>>>>>>> So Adrian I have the impression that you remove too much :)
>>>>>>>>
>>>>>>>> Stef
>>>>>>>>
>>>>>>>> On Jun 13, 2008, at 1:51 PM, Stéphane Ducasse wrote:
>>>>>>>>
>>>>>>>>> Once loaded the latest version and update
>>>>>>>>>
>>>>>>>>> When I open an environment to apply refactoring
>>>>>>>>> I get doesNotUnderstand: #rootsOfTheWorld
>>>>>>>>>
>>>>>>>>> Stef
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> From: stephane.ducasse(a)inria.fr
>>>>>>>>> To: squeak-dev(a)lists.squeakfoundation.org
>>>>>>>>> Subject: [BUG]Class class(Object)>>doesNotUnderstand:
>>>>>>>>> #rootsOfTheWorld
>>>>>>>>>
>>>>>>>>> here insert explanation of what you were doing, suspect
>>>>>>>>> changes
>>>>>>>>> you've made and so forth.
>>>>>>>>>
>>>>>>>>> 13 June 2008 1:50:10 pm
>>>>>>>>>
>>>>>>>>> VM: Mac OS - a SmalltalkImage
>>>>>>>>> Image: Pharo0.1 [latest update: #10037]
>>>>>>>>>
>>>>>>>>> SecurityManager state:
>>>>>>>>> Restricted: false
>>>>>>>>> FileAccess: true
>>>>>>>>> SocketAccess: true
>>>>>>>>> Working Dir /Users/ducasse/Desktop/Pharo/
>>>>>>>>> Pharo0.1-10036-2008-06-10
>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>> Internet/
>>>>>>>>> My Squeak
>>>>>>>>>
>>>>>>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
>>>>>>>>> Receiver: Class
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>> aMessage: rootsOfTheWorld
>>>>>>>>> Receiver's instance variables:
>>>>>>>>> superclass: ClassDescription
>>>>>>>>> methodDict: a MethodDictionary(#addClassVarName:->a
>>>>>>>>> CompiledMethod (608) #addIn...etc...
>>>>>>>>> format: 156
>>>>>>>>> instanceVariables: #('subclasses' 'name' 'classPool'
>>>>>>>>> 'sharedPools' 'environment...etc...
>>>>>>>>> organization: ('accessing' basicCategory basicCategory:
>>>>>>>>> basicLocalSelectors bas...etc...
>>>>>>>>> subclasses: an Array(ObjectTracer class PseudoContext class
>>>>>>>>> ProtoObject class)
>>>>>>>>> name: #Class
>>>>>>>>> classPool: a Dictionary()
>>>>>>>>> sharedPools: nil
>>>>>>>>> environment: a SystemDictionary(lots of globals)
>>>>>>>>> category: #'Kernel-Classes'
>>>>>>>>> traitComposition: TBehaviorCategorization
>>>>>>>>> localSelectors: an IdentitySet(#classPool: #sharing:
>>>>>>>>> #removeFromSystemUnlogged ...etc...
>>>>>>>>>
>>>>>>>>> BrowserEnvironment>>allClassesDo:
>>>>>>>>> Receiver: Smalltalk
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>> aBlock: [] in BrowserEnvironment>>classesDo: {[:each |
>>>>>>>>> (self
>>>>>>>>> includesClass: eac...etc...
>>>>>>>>> each: nil
>>>>>>>>> Receiver's instance variables:
>>>>>>>>> label: nil
>>>>>>>>> searchStrings: nil
>>>>>>>>>
>>>>>>>>> BrowserEnvironment>>classesDo:
>>>>>>>>> Receiver: Smalltalk
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>> aBlock: [] in BrowserEnvironment>>classesAndSelectorsDo:
>>>>>>>>> {[:class | self sele...etc...
>>>>>>>>> each: nil
>>>>>>>>> Receiver's instance variables:
>>>>>>>>> label: nil
>>>>>>>>> searchStrings: nil
>>>>>>>>>
>>>>>>>>> BrowserEnvironment>>classesAndSelectorsDo:
>>>>>>>>> Receiver: Smalltalk
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>> aBlock: [] in OREnvironmentNode>>selectorEnvironment
>>>>>>>>> {[:class :selector | selec...etc...
>>>>>>>>> class: nil
>>>>>>>>> sel: nil
>>>>>>>>> Receiver's instance variables:
>>>>>>>>> label: nil
>>>>>>>>> searchStrings: nil
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --- The full stack ---
>>>>>>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
>>>>>>>>> BrowserEnvironment>>allClassesDo:
>>>>>>>>> BrowserEnvironment>>classesDo:
>>>>>>>>> BrowserEnvironment>>classesAndSelectorsDo:
>>>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>>>>>>> - - -
>>>>>>>>> OREnvironmentNode>>selectorEnvironment
>>>>>>>>> ORSystemBrowser>>setMetaNode:node:
>>>>>>>>> ORSystemBrowser class(OBBrowser
>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>> ORSystemBrowser class(OBBrowser class)>>root:selection:
>>>>>>>>> ORSystemBrowser class(OBBrowser class)>>root:
>>>>>>>>> ORSystemBrowser class(OREnvironmentBrowser class)>>on:
>>>>>>>>> ORCmdSpawnEnvironment>>execute
>>>>>>>>> ORCmdSpawnEnvironment(OBCommand)>>perform:orSendTo:
>>>>>>>>> [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount :=
>>>>>>>>> selector
>>>>>>>>> numArgs) = 0 ifTrue: [target perform: selector] ...]}
>>>>>>>>> BlockContext>>ensure:
>>>>>>>>> CursorWithMask(Cursor)>>showWhile:
>>>>>>>>> MenuItemMorph>>invokeWithEvent:
>>>>>>>>> MenuItemMorph>>mouseUp:
>>>>>>>>> MenuItemMorph>>handleMouseUp:
>>>>>>>>> MouseButtonEvent>>sentTo:
>>>>>>>>> MenuItemMorph(Morph)>>handleEvent:
>>>>>>>>> MorphicEventDispatcher>>dispatchDefault:with:
>>>>>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>>>>>> MenuItemMorph(Morph)>>processEvent:using:
>>>>>>>>> MorphicEventDispatcher>>dispatchDefault:with:
>>>>>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>>>>>> MenuMorph(Morph)>>processEvent:using:
>>>>>>>>> MenuMorph(Morph)>>processEvent:
>>>>>>>>> MenuMorph>>handleFocusEvent:
>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand :=
>>>>>>>>> self.
>>>>>>>>> ActiveEvent := anEvent. result := focusHolder han...]}
>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
>>>>>>>>> BlockContext>>on:do:
>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>> HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>> HandMorph>>sendEvent:focus:clear:
>>>>>>>>> HandMorph>>sendMouseEvent:
>>>>>>>>> HandMorph>>handleEvent:
>>>>>>>>> HandMorph>>processEvents
>>>>>>>>> [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand :=
>>>>>>>>> h. h
>>>>>>>>> processEvents. ActiveHand := nil]}
>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>> WorldState>>handsDo:
>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>> [] in Project class>>spawnNewProcess {[[World doOneCycle.
>>>>>>>>> Processor yield. false] whileFalse. nil]}
>>>>>>>>> [] in BlockContext>>newProcess {[self value. Processor
>>>>>>>>> terminateActive]}
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>> project
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>> project
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
June 14, 2008
Re: [Pharo-project] Pharo logos
by Noury Bouraqadi
I prefer the last one.
On 14 juin 08, at 12:29, Stéphane Ducasse wrote:
> we were discussing with samuel about two logos
> one a bit clean and another one a bit more thrashy that could be used
> in different
> occasion.
>
> I like it
>
>
> Begin forwarded message:
>
>> From: Samuel MORELLO <samuel.morello(a)ouvanous.com>
>> Date: June 14, 2008 11:51:18 AM CEDT
>> To: Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>> Subject: Re: [Pharo-project] Pharo logos
>>
>> Comme ca ?
>>
>>
> <pharo-0.7.1.pdf>
>>
>>
>> Le 14 juin 08 à 11:46, Stéphane Ducasse a écrit :
>>
>>> je me demande si le pahre en noir ne ressortirait pas plus par
>>> rapport a la vague.
>>>
>>> Stef
>>>
>>> On Jun 14, 2008, at 10:32 AM, Samuel MORELLO wrote:
>>>
>>>> Voici une nouvelle planche
>>>>
>>>> On peu fonctionner avec un logo qui à deux versions en paralelle.
>>>> 1. Sans le rond : Net, reconnaissable et belle forme (pour moi en
>>>> tout cas)
>>>> 2. Avec le rond : Caractère marqué, pour les "brave programmers",
>>>> le rond est légérement trash mais ca donne un bon caractère (je me
>>>> repete ;-)
>>>>
>>>>
>>>> Apres je peux revenir sur une 3eme version type web 2 avec
>>>> degradéet effets de lumière.
>>>>
>>>> Mais la base réelle du logo c'est le phare tout seul
>>>>
>>>> Qu'en pesnes tu ?
>>>>
>>>> Je pense que ca fonctionne pour ma part
>>>>
>>>> Je continue sur la version type web 2 comme la premiere version
>>>> bleue que j'ai fournie mais sur cette derniere base.
>>>>
>>>> Sam
>>>>
>>>>
>>>>
>>>> Le 14 juin 08 à 10:12, Stéphane Ducasse a écrit :
>>>>
>>>>> moi j;aime bien le premier bleu
>>>>> si tu arrives a mettre un ou deux rayons cela serait interessant
>>>>> de voir.
>>>>> Mais c'est cool apres on va l'utiliser pour la vm et la distri +
>>>>> le site web youpi...
>>>>> Setf
>>>>> On Jun 14, 2008, at 9:58 AM, Samuel MORELLO wrote:
>>>>>
>>>>>> <pharo-0.6.1.pdf>
>>>>>> Bonjour,
>>>>>>
>>>>>> J'ai vu ce mail et je pense que les vagues donnent du caractères
>>>>>> Qu'en pense tu ?
>>>>>>
>>>>>> Sam
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Pharo is not a paper lantern.
>>>>>>>> It is a lighthouse showing the way to brave programmers
>>>>>>>> during the tempest.
>>>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Noury Bouraqadi
------------------------------------------------------------------
Dr. Noury Bouraqadi - Enseignant/Chercheur
Responsable de l'enseignement de l'informatique
ARMINES - Ecole des Mines de Douai - Dept. I.A.
http://vst.ensm-douai.fr/noury
European Smalltalk Users Group Board
http://www.esug.org
------------------------------------------------------------------
June 14, 2008
[Pharo-project] [updates] RootsOf is back + cleaning of norbert
by Stéphane Ducasse
Next
Damien on:
Oscar tests cleaning
Norbert nebraska cleaning
Stef
June 14, 2008
Re: [Pharo-project] Pharo logos
by Damien Pollet
2008/6/14 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
> we were discussing with samuel about two logos
> one a bit clean and another one a bit more thrashy that could be used
> in different
> occasion.
>
> I like it
I like the wave, and the thrashy look :)
Moreover when the lighthouse is not centered it looks more like what
one would see through a scope or binoculars, ie. meaning direction or
hope rather than some immobile building in the middle of bad weather.
Also the thrashy circle has connotations of simplicity, universality,
self-containment, evolution :
http://en.wikipedia.org/wiki/Lucent_Technologies#Logo
http://www.subtextual.org/
The coffee cup stain analogy would be nice for in-progress versions
between releases :)
> Begin forwarded message:
>
>> From: Samuel MORELLO <samuel.morello(a)ouvanous.com>
>> Date: June 14, 2008 11:51:18 AM CEDT
>> To: Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>> Subject: Re: [Pharo-project] Pharo logos
>>
>> Comme ca ?
>>
>>
>
>>
>> Le 14 juin 08 à 11:46, Stéphane Ducasse a écrit :
>>
>>> je me demande si le pahre en noir ne ressortirait pas plus par rapport a
>>> la vague.
>>>
>>> Stef
>>>
>>> On Jun 14, 2008, at 10:32 AM, Samuel MORELLO wrote:
>>>
>>>> Voici une nouvelle planche
>>>>
>>>> On peu fonctionner avec un logo qui à deux versions en paralelle.
>>>> 1. Sans le rond : Net, reconnaissable et belle forme (pour moi en tout
>>>> cas)
>>>> 2. Avec le rond : Caractère marqué, pour les "brave programmers", le
>>>> rond est légérement trash mais ca donne un bon caractère (je me repete ;-)
>>>>
>>>>
>>>> Apres je peux revenir sur une 3eme version type web 2 avec degradé et
>>>> effets de lumière.
>>>>
>>>> Mais la base réelle du logo c'est le phare tout seul
>>>>
>>>> Qu'en pesnes tu ?
>>>>
>>>> Je pense que ca fonctionne pour ma part
>>>>
>>>> Je continue sur la version type web 2 comme la premiere version bleue
>>>> que j'ai fournie mais sur cette derniere base.
>>>>
>>>> Sam
>>>>
>>>>
>>>>
>>>> Le 14 juin 08 à 10:12, Stéphane Ducasse a écrit :
>>>>
>>>>> moi j;aime bien le premier bleu
>>>>> si tu arrives a mettre un ou deux rayons cela serait interessant de
>>>>> voir.
>>>>> Mais c'est cool apres on va l'utiliser pour la vm et la distri + le
>>>>> site web youpi...
>>>>> Setf
>>>>> On Jun 14, 2008, at 9:58 AM, Samuel MORELLO wrote:
>>>>>
>>>>>> <pharo-0.6.1.pdf>
>>>>>> Bonjour,
>>>>>>
>>>>>> J'ai vu ce mail et je pense que les vagues donnent du caractères
>>>>>> Qu'en pense tu ?
>>>>>>
>>>>>> Sam
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Pharo is not a paper lantern.
>>>>>>>> It is a lighthouse showing the way to brave programmers during the
>>>>>>>> tempest.
>>>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet
June 14, 2008
Re: [Pharo-project] DNU rootsOfTheWorld
by Stéphane Ducasse
ok let us kill it then.
stef
On Jun 14, 2008, at 1:23 PM, Norbert Hartl wrote:
> On Sat, 2008-06-14 at 12:48 +0200, Norbert Hartl wrote:
>> On Sat, 2008-06-14 at 12:42 +0200, Stéphane Ducasse wrote:
>>> Adrian why did you remove the test for rootsOfTheWorld because it
>>> describes that rootsOfTheWorld does I will reintroduce it.
>>> if this is ok ?
>>>
>> No, not really. testRootsOfTheWorld will fail as there are 3 classes
>> set up for TraitsTest that have superclass nil.
>>
>> Maybe the best fix is as Adrian suggested that the test classes
>> which are set up for TraitsTest become Object superclass instead
>> of ProtoObject.
>>
>> I could do the change.
>>
> After all the test is not easy to succeed. TraitsTest sets up 3
> classes so
>
> Class rootsOfTheWorld
>
> will be 6 during test run and 3 afterwards. The second line of the
> test is completely useless as rootsOfTheWorld does a check if the
> superclass is nil.
>
> Norbert
>> Norbert
>>> On Jun 14, 2008, at 9:56 AM, Adrian Lienhard wrote:
>>>
>>>>
>>>> On Jun 13, 2008, at 17:54 , Stéphane Ducasse wrote:
>>>>
>>>>> Yes it is used by OB-Refactoring and other and the refactoring
>>>>> engine.
>>>>> May be it shoudl be packaged there.
>>>>
>>>> I checked the refactoring engine and this method is used in various
>>>> places. So the simplest thing to do was to add it back to the Pharo
>>>> image.
>>>>
>>>> Stef, I published a new version of the package SLICE-test-fixes-
>>>> al.2.
>>>>
>>>> Adrian
>>>>
>>>>
>>>>>
>>>>>
>>>>> Stef
>>>>> On Jun 13, 2008, at 5:36 PM, Adrian Lienhard wrote:
>>>>>
>>>>>> hm, I checked that there are no senders of this method before
>>>>>> removing it.
>>>>>> How can I reproduce it? i.e., what means "open an environment to
>>>>>> apply refactoring"?
>>>>>>
>>>>>> Is this the refactoring browser? If yes, then it might be a good
>>>>>> idea to move the method there if it is not used elsewhere.
>>>>>>
>>>>>> Adrian
>>>>>>
>>>>>> On Jun 13, 2008, at 13:56 , Stéphane Ducasse wrote:
>>>>>>
>>>>>>> So Adrian I have the impression that you remove too much :)
>>>>>>>
>>>>>>> Stef
>>>>>>>
>>>>>>> On Jun 13, 2008, at 1:51 PM, Stéphane Ducasse wrote:
>>>>>>>
>>>>>>>> Once loaded the latest version and update
>>>>>>>>
>>>>>>>> When I open an environment to apply refactoring
>>>>>>>> I get doesNotUnderstand: #rootsOfTheWorld
>>>>>>>>
>>>>>>>> Stef
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> From: stephane.ducasse(a)inria.fr
>>>>>>>> To: squeak-dev(a)lists.squeakfoundation.org
>>>>>>>> Subject: [BUG]Class class(Object)>>doesNotUnderstand:
>>>>>>>> #rootsOfTheWorld
>>>>>>>>
>>>>>>>> here insert explanation of what you were doing, suspect changes
>>>>>>>> you've made and so forth.
>>>>>>>>
>>>>>>>> 13 June 2008 1:50:10 pm
>>>>>>>>
>>>>>>>> VM: Mac OS - a SmalltalkImage
>>>>>>>> Image: Pharo0.1 [latest update: #10037]
>>>>>>>>
>>>>>>>> SecurityManager state:
>>>>>>>> Restricted: false
>>>>>>>> FileAccess: true
>>>>>>>> SocketAccess: true
>>>>>>>> Working Dir /Users/ducasse/Desktop/Pharo/
>>>>>>>> Pharo0.1-10036-2008-06-10
>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>> Internet/
>>>>>>>> My Squeak
>>>>>>>>
>>>>>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
>>>>>>>> Receiver: Class
>>>>>>>> Arguments and temporary variables:
>>>>>>>> aMessage: rootsOfTheWorld
>>>>>>>> Receiver's instance variables:
>>>>>>>> superclass: ClassDescription
>>>>>>>> methodDict: a MethodDictionary(#addClassVarName:->a
>>>>>>>> CompiledMethod (608) #addIn...etc...
>>>>>>>> format: 156
>>>>>>>> instanceVariables: #('subclasses' 'name' 'classPool'
>>>>>>>> 'sharedPools' 'environment...etc...
>>>>>>>> organization: ('accessing' basicCategory basicCategory:
>>>>>>>> basicLocalSelectors bas...etc...
>>>>>>>> subclasses: an Array(ObjectTracer class PseudoContext class
>>>>>>>> ProtoObject class)
>>>>>>>> name: #Class
>>>>>>>> classPool: a Dictionary()
>>>>>>>> sharedPools: nil
>>>>>>>> environment: a SystemDictionary(lots of globals)
>>>>>>>> category: #'Kernel-Classes'
>>>>>>>> traitComposition: TBehaviorCategorization
>>>>>>>> localSelectors: an IdentitySet(#classPool: #sharing:
>>>>>>>> #removeFromSystemUnlogged ...etc...
>>>>>>>>
>>>>>>>> BrowserEnvironment>>allClassesDo:
>>>>>>>> Receiver: Smalltalk
>>>>>>>> Arguments and temporary variables:
>>>>>>>> aBlock: [] in BrowserEnvironment>>classesDo: {[:each | (self
>>>>>>>> includesClass: eac...etc...
>>>>>>>> each: nil
>>>>>>>> Receiver's instance variables:
>>>>>>>> label: nil
>>>>>>>> searchStrings: nil
>>>>>>>>
>>>>>>>> BrowserEnvironment>>classesDo:
>>>>>>>> Receiver: Smalltalk
>>>>>>>> Arguments and temporary variables:
>>>>>>>> aBlock: [] in BrowserEnvironment>>classesAndSelectorsDo:
>>>>>>>> {[:class | self sele...etc...
>>>>>>>> each: nil
>>>>>>>> Receiver's instance variables:
>>>>>>>> label: nil
>>>>>>>> searchStrings: nil
>>>>>>>>
>>>>>>>> BrowserEnvironment>>classesAndSelectorsDo:
>>>>>>>> Receiver: Smalltalk
>>>>>>>> Arguments and temporary variables:
>>>>>>>> aBlock: [] in OREnvironmentNode>>selectorEnvironment
>>>>>>>> {[:class :selector | selec...etc...
>>>>>>>> class: nil
>>>>>>>> sel: nil
>>>>>>>> Receiver's instance variables:
>>>>>>>> label: nil
>>>>>>>> searchStrings: nil
>>>>>>>>
>>>>>>>>
>>>>>>>> --- The full stack ---
>>>>>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
>>>>>>>> BrowserEnvironment>>allClassesDo:
>>>>>>>> BrowserEnvironment>>classesDo:
>>>>>>>> BrowserEnvironment>>classesAndSelectorsDo:
>>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>>>>>> - -
>>>>>>>> OREnvironmentNode>>selectorEnvironment
>>>>>>>> ORSystemBrowser>>setMetaNode:node:
>>>>>>>> ORSystemBrowser class(OBBrowser
>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>> ORSystemBrowser class(OBBrowser class)>>root:selection:
>>>>>>>> ORSystemBrowser class(OBBrowser class)>>root:
>>>>>>>> ORSystemBrowser class(OREnvironmentBrowser class)>>on:
>>>>>>>> ORCmdSpawnEnvironment>>execute
>>>>>>>> ORCmdSpawnEnvironment(OBCommand)>>perform:orSendTo:
>>>>>>>> [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount :=
>>>>>>>> selector
>>>>>>>> numArgs) = 0 ifTrue: [target perform: selector] ...]}
>>>>>>>> BlockContext>>ensure:
>>>>>>>> CursorWithMask(Cursor)>>showWhile:
>>>>>>>> MenuItemMorph>>invokeWithEvent:
>>>>>>>> MenuItemMorph>>mouseUp:
>>>>>>>> MenuItemMorph>>handleMouseUp:
>>>>>>>> MouseButtonEvent>>sentTo:
>>>>>>>> MenuItemMorph(Morph)>>handleEvent:
>>>>>>>> MorphicEventDispatcher>>dispatchDefault:with:
>>>>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>>>>> MenuItemMorph(Morph)>>processEvent:using:
>>>>>>>> MorphicEventDispatcher>>dispatchDefault:with:
>>>>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>>>>> MenuMorph(Morph)>>processEvent:using:
>>>>>>>> MenuMorph(Morph)>>processEvent:
>>>>>>>> MenuMorph>>handleFocusEvent:
>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
>>>>>>>> ActiveEvent := anEvent. result := focusHolder han...]}
>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
>>>>>>>> BlockContext>>on:do:
>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>> HandMorph>>sendFocusEvent:to:clear:
>>>>>>>> HandMorph>>sendEvent:focus:clear:
>>>>>>>> HandMorph>>sendMouseEvent:
>>>>>>>> HandMorph>>handleEvent:
>>>>>>>> HandMorph>>processEvents
>>>>>>>> [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
>>>>>>>> processEvents. ActiveHand := nil]}
>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>> WorldState>>handsDo:
>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>> [] in Project class>>spawnNewProcess {[[World doOneCycle.
>>>>>>>> Processor yield. false] whileFalse. nil]}
>>>>>>>> [] in BlockContext>>newProcess {[self value. Processor
>>>>>>>> terminateActive]}
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>> project
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>> project
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
June 14, 2008
Re: [Pharo-project] DNU rootsOfTheWorld
by Norbert Hartl
On Sat, 2008-06-14 at 12:48 +0200, Norbert Hartl wrote:
> On Sat, 2008-06-14 at 12:42 +0200, Stéphane Ducasse wrote:
> > Adrian why did you remove the test for rootsOfTheWorld because it
> > describes that rootsOfTheWorld does I will reintroduce it.
> > if this is ok ?
> >
> No, not really. testRootsOfTheWorld will fail as there are 3 classes
> set up for TraitsTest that have superclass nil.
>
> Maybe the best fix is as Adrian suggested that the test classes
> which are set up for TraitsTest become Object superclass instead
> of ProtoObject.
>
> I could do the change.
>
After all the test is not easy to succeed. TraitsTest sets up 3
classes so
Class rootsOfTheWorld
will be 6 during test run and 3 afterwards. The second line of the
test is completely useless as rootsOfTheWorld does a check if the
superclass is nil.
Norbert
> Norbert
> > On Jun 14, 2008, at 9:56 AM, Adrian Lienhard wrote:
> >
> > >
> > > On Jun 13, 2008, at 17:54 , Stéphane Ducasse wrote:
> > >
> > >> Yes it is used by OB-Refactoring and other and the refactoring
> > >> engine.
> > >> May be it shoudl be packaged there.
> > >
> > > I checked the refactoring engine and this method is used in various
> > > places. So the simplest thing to do was to add it back to the Pharo
> > > image.
> > >
> > > Stef, I published a new version of the package SLICE-test-fixes-al.2.
> > >
> > > Adrian
> > >
> > >
> > >>
> > >>
> > >> Stef
> > >> On Jun 13, 2008, at 5:36 PM, Adrian Lienhard wrote:
> > >>
> > >>> hm, I checked that there are no senders of this method before
> > >>> removing it.
> > >>> How can I reproduce it? i.e., what means "open an environment to
> > >>> apply refactoring"?
> > >>>
> > >>> Is this the refactoring browser? If yes, then it might be a good
> > >>> idea to move the method there if it is not used elsewhere.
> > >>>
> > >>> Adrian
> > >>>
> > >>> On Jun 13, 2008, at 13:56 , Stéphane Ducasse wrote:
> > >>>
> > >>>> So Adrian I have the impression that you remove too much :)
> > >>>>
> > >>>> Stef
> > >>>>
> > >>>> On Jun 13, 2008, at 1:51 PM, Stéphane Ducasse wrote:
> > >>>>
> > >>>>> Once loaded the latest version and update
> > >>>>>
> > >>>>> When I open an environment to apply refactoring
> > >>>>> I get doesNotUnderstand: #rootsOfTheWorld
> > >>>>>
> > >>>>> Stef
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>> From: stephane.ducasse(a)inria.fr
> > >>>>> To: squeak-dev(a)lists.squeakfoundation.org
> > >>>>> Subject: [BUG]Class class(Object)>>doesNotUnderstand:
> > >>>>> #rootsOfTheWorld
> > >>>>>
> > >>>>> here insert explanation of what you were doing, suspect changes
> > >>>>> you've made and so forth.
> > >>>>>
> > >>>>> 13 June 2008 1:50:10 pm
> > >>>>>
> > >>>>> VM: Mac OS - a SmalltalkImage
> > >>>>> Image: Pharo0.1 [latest update: #10037]
> > >>>>>
> > >>>>> SecurityManager state:
> > >>>>> Restricted: false
> > >>>>> FileAccess: true
> > >>>>> SocketAccess: true
> > >>>>> Working Dir /Users/ducasse/Desktop/Pharo/Pharo0.1-10036-2008-06-10
> > >>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
> > >>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/
> > >>>>> My Squeak
> > >>>>>
> > >>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
> > >>>>> Receiver: Class
> > >>>>> Arguments and temporary variables:
> > >>>>> aMessage: rootsOfTheWorld
> > >>>>> Receiver's instance variables:
> > >>>>> superclass: ClassDescription
> > >>>>> methodDict: a MethodDictionary(#addClassVarName:->a
> > >>>>> CompiledMethod (608) #addIn...etc...
> > >>>>> format: 156
> > >>>>> instanceVariables: #('subclasses' 'name' 'classPool'
> > >>>>> 'sharedPools' 'environment...etc...
> > >>>>> organization: ('accessing' basicCategory basicCategory:
> > >>>>> basicLocalSelectors bas...etc...
> > >>>>> subclasses: an Array(ObjectTracer class PseudoContext class
> > >>>>> ProtoObject class)
> > >>>>> name: #Class
> > >>>>> classPool: a Dictionary()
> > >>>>> sharedPools: nil
> > >>>>> environment: a SystemDictionary(lots of globals)
> > >>>>> category: #'Kernel-Classes'
> > >>>>> traitComposition: TBehaviorCategorization
> > >>>>> localSelectors: an IdentitySet(#classPool: #sharing:
> > >>>>> #removeFromSystemUnlogged ...etc...
> > >>>>>
> > >>>>> BrowserEnvironment>>allClassesDo:
> > >>>>> Receiver: Smalltalk
> > >>>>> Arguments and temporary variables:
> > >>>>> aBlock: [] in BrowserEnvironment>>classesDo: {[:each | (self
> > >>>>> includesClass: eac...etc...
> > >>>>> each: nil
> > >>>>> Receiver's instance variables:
> > >>>>> label: nil
> > >>>>> searchStrings: nil
> > >>>>>
> > >>>>> BrowserEnvironment>>classesDo:
> > >>>>> Receiver: Smalltalk
> > >>>>> Arguments and temporary variables:
> > >>>>> aBlock: [] in BrowserEnvironment>>classesAndSelectorsDo:
> > >>>>> {[:class | self sele...etc...
> > >>>>> each: nil
> > >>>>> Receiver's instance variables:
> > >>>>> label: nil
> > >>>>> searchStrings: nil
> > >>>>>
> > >>>>> BrowserEnvironment>>classesAndSelectorsDo:
> > >>>>> Receiver: Smalltalk
> > >>>>> Arguments and temporary variables:
> > >>>>> aBlock: [] in OREnvironmentNode>>selectorEnvironment
> > >>>>> {[:class :selector | selec...etc...
> > >>>>> class: nil
> > >>>>> sel: nil
> > >>>>> Receiver's instance variables:
> > >>>>> label: nil
> > >>>>> searchStrings: nil
> > >>>>>
> > >>>>>
> > >>>>> --- The full stack ---
> > >>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
> > >>>>> BrowserEnvironment>>allClassesDo:
> > >>>>> BrowserEnvironment>>classesDo:
> > >>>>> BrowserEnvironment>>classesAndSelectorsDo:
> > >>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >>>>> OREnvironmentNode>>selectorEnvironment
> > >>>>> ORSystemBrowser>>setMetaNode:node:
> > >>>>> ORSystemBrowser class(OBBrowser
> > >>>>> class)>>metaNode:root:selection:panels:
> > >>>>> ORSystemBrowser class(OBBrowser class)>>root:selection:
> > >>>>> ORSystemBrowser class(OBBrowser class)>>root:
> > >>>>> ORSystemBrowser class(OREnvironmentBrowser class)>>on:
> > >>>>> ORCmdSpawnEnvironment>>execute
> > >>>>> ORCmdSpawnEnvironment(OBCommand)>>perform:orSendTo:
> > >>>>> [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector
> > >>>>> numArgs) = 0 ifTrue: [target perform: selector] ...]}
> > >>>>> BlockContext>>ensure:
> > >>>>> CursorWithMask(Cursor)>>showWhile:
> > >>>>> MenuItemMorph>>invokeWithEvent:
> > >>>>> MenuItemMorph>>mouseUp:
> > >>>>> MenuItemMorph>>handleMouseUp:
> > >>>>> MouseButtonEvent>>sentTo:
> > >>>>> MenuItemMorph(Morph)>>handleEvent:
> > >>>>> MorphicEventDispatcher>>dispatchDefault:with:
> > >>>>> MorphicEventDispatcher>>dispatchEvent:with:
> > >>>>> MenuItemMorph(Morph)>>processEvent:using:
> > >>>>> MorphicEventDispatcher>>dispatchDefault:with:
> > >>>>> MorphicEventDispatcher>>dispatchEvent:with:
> > >>>>> MenuMorph(Morph)>>processEvent:using:
> > >>>>> MenuMorph(Morph)>>processEvent:
> > >>>>> MenuMorph>>handleFocusEvent:
> > >>>>> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
> > >>>>> ActiveEvent := anEvent. result := focusHolder han...]}
> > >>>>> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> > >>>>> BlockContext>>on:do:
> > >>>>> PasteUpMorph>>becomeActiveDuring:
> > >>>>> HandMorph>>sendFocusEvent:to:clear:
> > >>>>> HandMorph>>sendEvent:focus:clear:
> > >>>>> HandMorph>>sendMouseEvent:
> > >>>>> HandMorph>>handleEvent:
> > >>>>> HandMorph>>processEvents
> > >>>>> [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
> > >>>>> processEvents. ActiveHand := nil]}
> > >>>>> Array(SequenceableCollection)>>do:
> > >>>>> WorldState>>handsDo:
> > >>>>> WorldState>>doOneCycleNowFor:
> > >>>>> WorldState>>doOneCycleFor:
> > >>>>> PasteUpMorph>>doOneCycle
> > >>>>> [] in Project class>>spawnNewProcess {[[World doOneCycle.
> > >>>>> Processor yield. false] whileFalse. nil]}
> > >>>>> [] in BlockContext>>newProcess {[self value. Processor
> > >>>>> terminateActive]}
> > >>>>>
> > >>>>>
> > >>>>> _______________________________________________
> > >>>>> Pharo-project mailing list
> > >>>>> Pharo-project(a)lists.gforge.inria.fr
> > >>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
> > >>>>> project
> > >>>>>
> > >>>>
> > >>>>
> > >>>> _______________________________________________
> > >>>> Pharo-project mailing list
> > >>>> Pharo-project(a)lists.gforge.inria.fr
> > >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >>>
> > >>>
> > >>> _______________________________________________
> > >>> Pharo-project mailing list
> > >>> Pharo-project(a)lists.gforge.inria.fr
> > >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >>>
> > >>
> > >>
> > >> _______________________________________________
> > >> Pharo-project mailing list
> > >> Pharo-project(a)lists.gforge.inria.fr
> > >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >
> > >
> > > _______________________________________________
> > > Pharo-project mailing list
> > > Pharo-project(a)lists.gforge.inria.fr
> > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >
> >
> >
> > _______________________________________________
> > Pharo-project mailing list
> > Pharo-project(a)lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
June 14, 2008
Re: [Pharo-project] DNU rootsOfTheWorld
by Norbert Hartl
On Sat, 2008-06-14 at 12:42 +0200, Stéphane Ducasse wrote:
> Adrian why did you remove the test for rootsOfTheWorld because it
> describes that rootsOfTheWorld does I will reintroduce it.
> if this is ok ?
>
No, not really. testRootsOfTheWorld will fail as there are 3 classes
set up for TraitsTest that have superclass nil.
Maybe the best fix is as Adrian suggested that the test classes
which are set up for TraitsTest become Object superclass instead
of ProtoObject.
I could do the change.
Norbert
> On Jun 14, 2008, at 9:56 AM, Adrian Lienhard wrote:
>
> >
> > On Jun 13, 2008, at 17:54 , Stéphane Ducasse wrote:
> >
> >> Yes it is used by OB-Refactoring and other and the refactoring
> >> engine.
> >> May be it shoudl be packaged there.
> >
> > I checked the refactoring engine and this method is used in various
> > places. So the simplest thing to do was to add it back to the Pharo
> > image.
> >
> > Stef, I published a new version of the package SLICE-test-fixes-al.2.
> >
> > Adrian
> >
> >
> >>
> >>
> >> Stef
> >> On Jun 13, 2008, at 5:36 PM, Adrian Lienhard wrote:
> >>
> >>> hm, I checked that there are no senders of this method before
> >>> removing it.
> >>> How can I reproduce it? i.e., what means "open an environment to
> >>> apply refactoring"?
> >>>
> >>> Is this the refactoring browser? If yes, then it might be a good
> >>> idea to move the method there if it is not used elsewhere.
> >>>
> >>> Adrian
> >>>
> >>> On Jun 13, 2008, at 13:56 , Stéphane Ducasse wrote:
> >>>
> >>>> So Adrian I have the impression that you remove too much :)
> >>>>
> >>>> Stef
> >>>>
> >>>> On Jun 13, 2008, at 1:51 PM, Stéphane Ducasse wrote:
> >>>>
> >>>>> Once loaded the latest version and update
> >>>>>
> >>>>> When I open an environment to apply refactoring
> >>>>> I get doesNotUnderstand: #rootsOfTheWorld
> >>>>>
> >>>>> Stef
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> From: stephane.ducasse(a)inria.fr
> >>>>> To: squeak-dev(a)lists.squeakfoundation.org
> >>>>> Subject: [BUG]Class class(Object)>>doesNotUnderstand:
> >>>>> #rootsOfTheWorld
> >>>>>
> >>>>> here insert explanation of what you were doing, suspect changes
> >>>>> you've made and so forth.
> >>>>>
> >>>>> 13 June 2008 1:50:10 pm
> >>>>>
> >>>>> VM: Mac OS - a SmalltalkImage
> >>>>> Image: Pharo0.1 [latest update: #10037]
> >>>>>
> >>>>> SecurityManager state:
> >>>>> Restricted: false
> >>>>> FileAccess: true
> >>>>> SocketAccess: true
> >>>>> Working Dir /Users/ducasse/Desktop/Pharo/Pharo0.1-10036-2008-06-10
> >>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
> >>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/
> >>>>> My Squeak
> >>>>>
> >>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
> >>>>> Receiver: Class
> >>>>> Arguments and temporary variables:
> >>>>> aMessage: rootsOfTheWorld
> >>>>> Receiver's instance variables:
> >>>>> superclass: ClassDescription
> >>>>> methodDict: a MethodDictionary(#addClassVarName:->a
> >>>>> CompiledMethod (608) #addIn...etc...
> >>>>> format: 156
> >>>>> instanceVariables: #('subclasses' 'name' 'classPool'
> >>>>> 'sharedPools' 'environment...etc...
> >>>>> organization: ('accessing' basicCategory basicCategory:
> >>>>> basicLocalSelectors bas...etc...
> >>>>> subclasses: an Array(ObjectTracer class PseudoContext class
> >>>>> ProtoObject class)
> >>>>> name: #Class
> >>>>> classPool: a Dictionary()
> >>>>> sharedPools: nil
> >>>>> environment: a SystemDictionary(lots of globals)
> >>>>> category: #'Kernel-Classes'
> >>>>> traitComposition: TBehaviorCategorization
> >>>>> localSelectors: an IdentitySet(#classPool: #sharing:
> >>>>> #removeFromSystemUnlogged ...etc...
> >>>>>
> >>>>> BrowserEnvironment>>allClassesDo:
> >>>>> Receiver: Smalltalk
> >>>>> Arguments and temporary variables:
> >>>>> aBlock: [] in BrowserEnvironment>>classesDo: {[:each | (self
> >>>>> includesClass: eac...etc...
> >>>>> each: nil
> >>>>> Receiver's instance variables:
> >>>>> label: nil
> >>>>> searchStrings: nil
> >>>>>
> >>>>> BrowserEnvironment>>classesDo:
> >>>>> Receiver: Smalltalk
> >>>>> Arguments and temporary variables:
> >>>>> aBlock: [] in BrowserEnvironment>>classesAndSelectorsDo:
> >>>>> {[:class | self sele...etc...
> >>>>> each: nil
> >>>>> Receiver's instance variables:
> >>>>> label: nil
> >>>>> searchStrings: nil
> >>>>>
> >>>>> BrowserEnvironment>>classesAndSelectorsDo:
> >>>>> Receiver: Smalltalk
> >>>>> Arguments and temporary variables:
> >>>>> aBlock: [] in OREnvironmentNode>>selectorEnvironment
> >>>>> {[:class :selector | selec...etc...
> >>>>> class: nil
> >>>>> sel: nil
> >>>>> Receiver's instance variables:
> >>>>> label: nil
> >>>>> searchStrings: nil
> >>>>>
> >>>>>
> >>>>> --- The full stack ---
> >>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
> >>>>> BrowserEnvironment>>allClassesDo:
> >>>>> BrowserEnvironment>>classesDo:
> >>>>> BrowserEnvironment>>classesAndSelectorsDo:
> >>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >>>>> OREnvironmentNode>>selectorEnvironment
> >>>>> ORSystemBrowser>>setMetaNode:node:
> >>>>> ORSystemBrowser class(OBBrowser
> >>>>> class)>>metaNode:root:selection:panels:
> >>>>> ORSystemBrowser class(OBBrowser class)>>root:selection:
> >>>>> ORSystemBrowser class(OBBrowser class)>>root:
> >>>>> ORSystemBrowser class(OREnvironmentBrowser class)>>on:
> >>>>> ORCmdSpawnEnvironment>>execute
> >>>>> ORCmdSpawnEnvironment(OBCommand)>>perform:orSendTo:
> >>>>> [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector
> >>>>> numArgs) = 0 ifTrue: [target perform: selector] ...]}
> >>>>> BlockContext>>ensure:
> >>>>> CursorWithMask(Cursor)>>showWhile:
> >>>>> MenuItemMorph>>invokeWithEvent:
> >>>>> MenuItemMorph>>mouseUp:
> >>>>> MenuItemMorph>>handleMouseUp:
> >>>>> MouseButtonEvent>>sentTo:
> >>>>> MenuItemMorph(Morph)>>handleEvent:
> >>>>> MorphicEventDispatcher>>dispatchDefault:with:
> >>>>> MorphicEventDispatcher>>dispatchEvent:with:
> >>>>> MenuItemMorph(Morph)>>processEvent:using:
> >>>>> MorphicEventDispatcher>>dispatchDefault:with:
> >>>>> MorphicEventDispatcher>>dispatchEvent:with:
> >>>>> MenuMorph(Morph)>>processEvent:using:
> >>>>> MenuMorph(Morph)>>processEvent:
> >>>>> MenuMorph>>handleFocusEvent:
> >>>>> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
> >>>>> ActiveEvent := anEvent. result := focusHolder han...]}
> >>>>> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> >>>>> BlockContext>>on:do:
> >>>>> PasteUpMorph>>becomeActiveDuring:
> >>>>> HandMorph>>sendFocusEvent:to:clear:
> >>>>> HandMorph>>sendEvent:focus:clear:
> >>>>> HandMorph>>sendMouseEvent:
> >>>>> HandMorph>>handleEvent:
> >>>>> HandMorph>>processEvents
> >>>>> [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
> >>>>> processEvents. ActiveHand := nil]}
> >>>>> Array(SequenceableCollection)>>do:
> >>>>> WorldState>>handsDo:
> >>>>> WorldState>>doOneCycleNowFor:
> >>>>> WorldState>>doOneCycleFor:
> >>>>> PasteUpMorph>>doOneCycle
> >>>>> [] in Project class>>spawnNewProcess {[[World doOneCycle.
> >>>>> Processor yield. false] whileFalse. nil]}
> >>>>> [] in BlockContext>>newProcess {[self value. Processor
> >>>>> terminateActive]}
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> Pharo-project mailing list
> >>>>> Pharo-project(a)lists.gforge.inria.fr
> >>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
> >>>>> project
> >>>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Pharo-project mailing list
> >>>> Pharo-project(a)lists.gforge.inria.fr
> >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >>>
> >>>
> >>> _______________________________________________
> >>> Pharo-project mailing list
> >>> Pharo-project(a)lists.gforge.inria.fr
> >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >>>
> >>
> >>
> >> _______________________________________________
> >> Pharo-project mailing list
> >> Pharo-project(a)lists.gforge.inria.fr
> >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >
> >
> > _______________________________________________
> > Pharo-project mailing list
> > Pharo-project(a)lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
June 14, 2008
Re: [Pharo-project] DNU rootsOfTheWorld
by Stéphane Ducasse
Adrian why did you remove the test for rootsOfTheWorld because it
describes that rootsOfTheWorld does I will reintroduce it.
if this is ok ?
On Jun 14, 2008, at 9:56 AM, Adrian Lienhard wrote:
>
> On Jun 13, 2008, at 17:54 , Stéphane Ducasse wrote:
>
>> Yes it is used by OB-Refactoring and other and the refactoring
>> engine.
>> May be it shoudl be packaged there.
>
> I checked the refactoring engine and this method is used in various
> places. So the simplest thing to do was to add it back to the Pharo
> image.
>
> Stef, I published a new version of the package SLICE-test-fixes-al.2.
>
> Adrian
>
>
>>
>>
>> Stef
>> On Jun 13, 2008, at 5:36 PM, Adrian Lienhard wrote:
>>
>>> hm, I checked that there are no senders of this method before
>>> removing it.
>>> How can I reproduce it? i.e., what means "open an environment to
>>> apply refactoring"?
>>>
>>> Is this the refactoring browser? If yes, then it might be a good
>>> idea to move the method there if it is not used elsewhere.
>>>
>>> Adrian
>>>
>>> On Jun 13, 2008, at 13:56 , Stéphane Ducasse wrote:
>>>
>>>> So Adrian I have the impression that you remove too much :)
>>>>
>>>> Stef
>>>>
>>>> On Jun 13, 2008, at 1:51 PM, Stéphane Ducasse wrote:
>>>>
>>>>> Once loaded the latest version and update
>>>>>
>>>>> When I open an environment to apply refactoring
>>>>> I get doesNotUnderstand: #rootsOfTheWorld
>>>>>
>>>>> Stef
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> From: stephane.ducasse(a)inria.fr
>>>>> To: squeak-dev(a)lists.squeakfoundation.org
>>>>> Subject: [BUG]Class class(Object)>>doesNotUnderstand:
>>>>> #rootsOfTheWorld
>>>>>
>>>>> here insert explanation of what you were doing, suspect changes
>>>>> you've made and so forth.
>>>>>
>>>>> 13 June 2008 1:50:10 pm
>>>>>
>>>>> VM: Mac OS - a SmalltalkImage
>>>>> Image: Pharo0.1 [latest update: #10037]
>>>>>
>>>>> SecurityManager state:
>>>>> Restricted: false
>>>>> FileAccess: true
>>>>> SocketAccess: true
>>>>> Working Dir /Users/ducasse/Desktop/Pharo/Pharo0.1-10036-2008-06-10
>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/
>>>>> My Squeak
>>>>>
>>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
>>>>> Receiver: Class
>>>>> Arguments and temporary variables:
>>>>> aMessage: rootsOfTheWorld
>>>>> Receiver's instance variables:
>>>>> superclass: ClassDescription
>>>>> methodDict: a MethodDictionary(#addClassVarName:->a
>>>>> CompiledMethod (608) #addIn...etc...
>>>>> format: 156
>>>>> instanceVariables: #('subclasses' 'name' 'classPool'
>>>>> 'sharedPools' 'environment...etc...
>>>>> organization: ('accessing' basicCategory basicCategory:
>>>>> basicLocalSelectors bas...etc...
>>>>> subclasses: an Array(ObjectTracer class PseudoContext class
>>>>> ProtoObject class)
>>>>> name: #Class
>>>>> classPool: a Dictionary()
>>>>> sharedPools: nil
>>>>> environment: a SystemDictionary(lots of globals)
>>>>> category: #'Kernel-Classes'
>>>>> traitComposition: TBehaviorCategorization
>>>>> localSelectors: an IdentitySet(#classPool: #sharing:
>>>>> #removeFromSystemUnlogged ...etc...
>>>>>
>>>>> BrowserEnvironment>>allClassesDo:
>>>>> Receiver: Smalltalk
>>>>> Arguments and temporary variables:
>>>>> aBlock: [] in BrowserEnvironment>>classesDo: {[:each | (self
>>>>> includesClass: eac...etc...
>>>>> each: nil
>>>>> Receiver's instance variables:
>>>>> label: nil
>>>>> searchStrings: nil
>>>>>
>>>>> BrowserEnvironment>>classesDo:
>>>>> Receiver: Smalltalk
>>>>> Arguments and temporary variables:
>>>>> aBlock: [] in BrowserEnvironment>>classesAndSelectorsDo:
>>>>> {[:class | self sele...etc...
>>>>> each: nil
>>>>> Receiver's instance variables:
>>>>> label: nil
>>>>> searchStrings: nil
>>>>>
>>>>> BrowserEnvironment>>classesAndSelectorsDo:
>>>>> Receiver: Smalltalk
>>>>> Arguments and temporary variables:
>>>>> aBlock: [] in OREnvironmentNode>>selectorEnvironment
>>>>> {[:class :selector | selec...etc...
>>>>> class: nil
>>>>> sel: nil
>>>>> Receiver's instance variables:
>>>>> label: nil
>>>>> searchStrings: nil
>>>>>
>>>>>
>>>>> --- The full stack ---
>>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
>>>>> BrowserEnvironment>>allClassesDo:
>>>>> BrowserEnvironment>>classesDo:
>>>>> BrowserEnvironment>>classesAndSelectorsDo:
>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>>> OREnvironmentNode>>selectorEnvironment
>>>>> ORSystemBrowser>>setMetaNode:node:
>>>>> ORSystemBrowser class(OBBrowser
>>>>> class)>>metaNode:root:selection:panels:
>>>>> ORSystemBrowser class(OBBrowser class)>>root:selection:
>>>>> ORSystemBrowser class(OBBrowser class)>>root:
>>>>> ORSystemBrowser class(OREnvironmentBrowser class)>>on:
>>>>> ORCmdSpawnEnvironment>>execute
>>>>> ORCmdSpawnEnvironment(OBCommand)>>perform:orSendTo:
>>>>> [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector
>>>>> numArgs) = 0 ifTrue: [target perform: selector] ...]}
>>>>> BlockContext>>ensure:
>>>>> CursorWithMask(Cursor)>>showWhile:
>>>>> MenuItemMorph>>invokeWithEvent:
>>>>> MenuItemMorph>>mouseUp:
>>>>> MenuItemMorph>>handleMouseUp:
>>>>> MouseButtonEvent>>sentTo:
>>>>> MenuItemMorph(Morph)>>handleEvent:
>>>>> MorphicEventDispatcher>>dispatchDefault:with:
>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>> MenuItemMorph(Morph)>>processEvent:using:
>>>>> MorphicEventDispatcher>>dispatchDefault:with:
>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>> MenuMorph(Morph)>>processEvent:using:
>>>>> MenuMorph(Morph)>>processEvent:
>>>>> MenuMorph>>handleFocusEvent:
>>>>> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
>>>>> ActiveEvent := anEvent. result := focusHolder han...]}
>>>>> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
>>>>> BlockContext>>on:do:
>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>> HandMorph>>sendFocusEvent:to:clear:
>>>>> HandMorph>>sendEvent:focus:clear:
>>>>> HandMorph>>sendMouseEvent:
>>>>> HandMorph>>handleEvent:
>>>>> HandMorph>>processEvents
>>>>> [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
>>>>> processEvents. ActiveHand := nil]}
>>>>> Array(SequenceableCollection)>>do:
>>>>> WorldState>>handsDo:
>>>>> WorldState>>doOneCycleNowFor:
>>>>> WorldState>>doOneCycleFor:
>>>>> PasteUpMorph>>doOneCycle
>>>>> [] in Project class>>spawnNewProcess {[[World doOneCycle.
>>>>> Processor yield. false] whileFalse. nil]}
>>>>> [] in BlockContext>>newProcess {[self value. Processor
>>>>> terminateActive]}
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>> project
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
June 14, 2008
Re: [Pharo-project] Need code review
by Stéphane Ducasse
yes if you could cut it into smaller ones it would be better.
Stef
On Jun 14, 2008, at 12:31 PM, Alexandre Bergel wrote:
> I am now working on the second change. It is a big one...
>
> Alexandre
>
>
> On 14 Jun 2008, at 12:27, Stéphane Ducasse wrote:
>
>> ok I will harvest it.
>>
>> Stef
>>
>> On Jun 14, 2008, at 12:18 PM, Alexandre Bergel wrote:
>>
>>>> http://lists.gforge.inria.fr/pipermail/pharo-project/2008-June/000238.html
>>>>>> [Pharo-project] Hunting down nebraska
>>>
>>> This change makes sense to me. Essentially reorganization.
>>>
>>> Alexandre
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
June 14, 2008
Re: [Pharo-project] Need code review
by Alexandre Bergel
I am now working on the second change. It is a big one...
Alexandre
On 14 Jun 2008, at 12:27, Stéphane Ducasse wrote:
> ok I will harvest it.
>
> Stef
>
> On Jun 14, 2008, at 12:18 PM, Alexandre Bergel wrote:
>
>>> http://lists.gforge.inria.fr/pipermail/pharo-project/2008-June/000238.html
>>>>> [Pharo-project] Hunting down nebraska
>>
>> This change makes sense to me. Essentially reorganization.
>>
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
June 14, 2008