MNU RBBroweserEnvironment>>includesKey:
And I am back with new problems with pharo 5 , I hope you missed me :D If I try to create a new class called ChrTimeInputM that subclasses TextMorph I am getting this MNU with the stack bellow I tried to replace includesKey: with includesClass: but then it alerts me falsely that there is already an existing class in the image, I tried this on the latest pharo 5 image with nothing installed in it. Here is the stack RBBrowserEnvironment(Object)>>doesNotUnderstand: #includesKey: PackageTreeNautilusUI(AbstractTool)>>compileANewClassFrom:notifying:startingFrom: PackageTreeNautilusUI(AbstractNautilusUI)>>compileAClassFrom:notifying: ClassDefinitionAcceptor>>accept:notifying: PackageTreeNautilusUI(NautilusUI)>>compileSource:notifying: PackageTreeNautilusUI(AbstractNautilusUI)>>whenTextAcceptedInView: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed: SubscriptionRegistry>>deliver:to:startingAt: SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: Announcer>>announce: RubScrolledTextMorph>>acceptContents RubScrolledTextMorph>>whenTextAcceptRequest: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed:
there is no code compiled just me trying to create a class in the image that is named ChrTimeInput and subclasses Textmorph, there is nothing more to it image: pharo 5 latest vm: one provided by pharolauncher 'NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.21 uuid: 4d9b9bdf-2dfa-4c0b-99eb-5b110dadc697 Oct 8 2015 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.21 uuid: 4d9b9bdf-2dfa-4c0b-99eb-5b110dadc697 Oct 8 2015 https://github.com/pharo-project/pharo-vm.git Commit: c062708833feb9048c1bad48b01867020daa0939 Date: 2015-09-30 09:22:51 +0200 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #15008 OS: Yosemite with its latest update. If you need any more info and help please dont hesitate. I am prepared to file a bug report if other can reproduce this bug. On Wed, Nov 11, 2015 at 10:11 AM Stephan Eggermont <stephan@stack.nl> wrote:
On 11-11-15 08:53, Dimitris Chloupis wrote:
And I am back with new problems with pharo 5 , I hope you missed me :D
Compiling exactly what code? In what image & vm version/os?
Stephan
Le 11/11/2015 08:53, Dimitris Chloupis a écrit :
And I am back with new problems with pharo 5 , I hope you missed me :D
If I try to create a new class called ChrTimeInputM that subclasses TextMorph I am getting this MNU with the stack bellow
Strange. Code failing is this: ((oldClass isNil or: [oldClass theNonMetaClass name asString ~= newClassName]) and: [envt includesKey: newClassName asSymbol]) ifTrue: ["Attempting to define new class over existing one when not looking at the original one in this browser..." (self confirm: ((newClassName , ' is an existing class in this system. Redefining it might cause serious problems. Is this really what you want to do?') asText makeBoldFrom: 1 to: newClassName size)) ifFalse: [^ nil]]. The strange thing is that, of anything which looks like an environment in Pharo, very few do have an includesKey: and certainly not RBBrowserEnvironment Moreover, in the case of scoped browsing, I don't think the test amount to anything significant: if I try to redefine Object and if Object is not in the browsed environment, I'll get no warning whatsoever. Thierry
I tried to replace includesKey: with includesClass: but then it alerts me falsely that there is already an existing class in the image, I tried this on the latest pharo 5 image with nothing installed in it. Here is the stack
RBBrowserEnvironment(Object)>>doesNotUnderstand: #includesKey: PackageTreeNautilusUI(AbstractTool)>>compileANewClassFrom:notifying:startingFrom: PackageTreeNautilusUI(AbstractNautilusUI)>>compileAClassFrom:notifying: ClassDefinitionAcceptor>>accept:notifying: PackageTreeNautilusUI(NautilusUI)>>compileSource:notifying: PackageTreeNautilusUI(AbstractNautilusUI)>>whenTextAcceptedInView: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed: SubscriptionRegistry>>deliver:to:startingAt: SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: Announcer>>announce: RubScrolledTextMorph>>acceptContents RubScrolledTextMorph>>whenTextAcceptRequest: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed:
yes the message is certainly missing, it references Smalltalk. I was just testing a simple fix, I was no way prepared to accept as a fix even if it did work because I have no clue about Pharo internal and I dont want to mess with them. On Wed, Nov 11, 2015 at 10:10 AM Thierry Goubier <thierry.goubier@gmail.com> wrote:
Le 11/11/2015 08:53, Dimitris Chloupis a écrit :
And I am back with new problems with pharo 5 , I hope you missed me :D
If I try to create a new class called ChrTimeInputM that subclasses TextMorph I am getting this MNU with the stack bellow
Strange.
Code failing is this:
((oldClass isNil or: [oldClass theNonMetaClass name asString ~= newClassName]) and: [envt includesKey: newClassName asSymbol]) ifTrue: ["Attempting to define new class over existing one when not looking at the original one in this browser..." (self confirm: ((newClassName , ' is an existing class in this system. Redefining it might cause serious problems. Is this really what you want to do?') asText makeBoldFrom: 1 to: newClassName size)) ifFalse: [^ nil]].
The strange thing is that, of anything which looks like an environment in Pharo, very few do have an includesKey: and certainly not RBBrowserEnvironment
Moreover, in the case of scoped browsing, I don't think the test amount to anything significant: if I try to redefine Object and if Object is not in the browsed environment, I'll get no warning whatsoever.
Thierry
I tried to replace includesKey: with includesClass: but then it alerts me falsely that there is already an existing class in the image, I tried this on the latest pharo 5 image with nothing installed in it. Here is the stack
RBBrowserEnvironment(Object)>>doesNotUnderstand: #includesKey:
PackageTreeNautilusUI(AbstractTool)>>compileANewClassFrom:notifying:startingFrom:
PackageTreeNautilusUI(AbstractNautilusUI)>>compileAClassFrom:notifying: ClassDefinitionAcceptor>>accept:notifying: PackageTreeNautilusUI(NautilusUI)>>compileSource:notifying: PackageTreeNautilusUI(AbstractNautilusUI)>>whenTextAcceptedInView: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed: SubscriptionRegistry>>deliver:to:startingAt: SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: Announcer>>announce: RubScrolledTextMorph>>acceptContents RubScrolledTextMorph>>whenTextAcceptRequest: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed:
this is probably linked to the changes denis did to remove Smalltalk globals everywhere. indeed this is it envt := Smalltalk globals. got changed into self browsedEnvironment but it is wrong since Nautilus defines AbstractNautilusUI>>browsedEnvironment ^ self model browsedEnvironment I will send a fix now Stef Le 11/11/15 09:09, Thierry Goubier a écrit :
Le 11/11/2015 08:53, Dimitris Chloupis a écrit :
And I am back with new problems with pharo 5 , I hope you missed me :D
If I try to create a new class called ChrTimeInputM that subclasses TextMorph I am getting this MNU with the stack bellow
Strange.
Code failing is this:
((oldClass isNil or: [oldClass theNonMetaClass name asString ~= newClassName]) and: [envt includesKey: newClassName asSymbol]) ifTrue: ["Attempting to define new class over existing one when not looking at the original one in this browser..." (self confirm: ((newClassName , ' is an existing class in this system. Redefining it might cause serious problems. Is this really what you want to do?') asText makeBoldFrom: 1 to: newClassName size)) ifFalse: [^ nil]].
The strange thing is that, of anything which looks like an environment in Pharo, very few do have an includesKey: and certainly not RBBrowserEnvironment
Moreover, in the case of scoped browsing, I don't think the test amount to anything significant: if I try to redefine Object and if Object is not in the browsed environment, I'll get no warning whatsoever.
Thierry
I tried to replace includesKey: with includesClass: but then it alerts me falsely that there is already an existing class in the image, I tried this on the latest pharo 5 image with nothing installed in it. Here is the stack
RBBrowserEnvironment(Object)>>doesNotUnderstand: #includesKey: PackageTreeNautilusUI(AbstractTool)>>compileANewClassFrom:notifying:startingFrom:
PackageTreeNautilusUI(AbstractNautilusUI)>>compileAClassFrom:notifying: ClassDefinitionAcceptor>>accept:notifying: PackageTreeNautilusUI(NautilusUI)>>compileSource:notifying: PackageTreeNautilusUI(AbstractNautilusUI)>>whenTextAcceptedInView: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed: SubscriptionRegistry>>deliver:to:startingAt: SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: Announcer>>announce: RubScrolledTextMorph>>acceptContents RubScrolledTextMorph>>whenTextAcceptRequest: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed:
thank you Stef On Wed, Nov 11, 2015 at 6:51 PM stepharo <stepharo@free.fr> wrote:
this is probably linked to the changes denis did to remove Smalltalk globals everywhere. indeed this is it
envt := Smalltalk globals.
got changed into self browsedEnvironment but it is wrong since Nautilus defines
AbstractNautilusUI>>browsedEnvironment
^ self model browsedEnvironment
I will send a fix now
Stef
Le 11/11/15 09:09, Thierry Goubier a écrit :
Le 11/11/2015 08:53, Dimitris Chloupis a écrit :
And I am back with new problems with pharo 5 , I hope you missed me :D
If I try to create a new class called ChrTimeInputM that subclasses TextMorph I am getting this MNU with the stack bellow
Strange.
Code failing is this:
((oldClass isNil or: [oldClass theNonMetaClass name asString ~= newClassName]) and: [envt includesKey: newClassName asSymbol]) ifTrue: ["Attempting to define new class over existing one when not looking at the original one in this browser..." (self confirm: ((newClassName , ' is an existing class in this system. Redefining it might cause serious problems. Is this really what you want to do?') asText makeBoldFrom: 1 to: newClassName size)) ifFalse: [^ nil]].
The strange thing is that, of anything which looks like an environment in Pharo, very few do have an includesKey: and certainly not RBBrowserEnvironment
Moreover, in the case of scoped browsing, I don't think the test amount to anything significant: if I try to redefine Object and if Object is not in the browsed environment, I'll get no warning whatsoever.
Thierry
I tried to replace includesKey: with includesClass: but then it alerts me falsely that there is already an existing class in the image, I tried this on the latest pharo 5 image with nothing installed in it. Here is the stack
RBBrowserEnvironment(Object)>>doesNotUnderstand: #includesKey:
PackageTreeNautilusUI(AbstractTool)>>compileANewClassFrom:notifying:startingFrom:
PackageTreeNautilusUI(AbstractNautilusUI)>>compileAClassFrom:notifying: ClassDefinitionAcceptor>>accept:notifying: PackageTreeNautilusUI(NautilusUI)>>compileSource:notifying: PackageTreeNautilusUI(AbstractNautilusUI)>>whenTextAcceptedInView: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed: SubscriptionRegistry>>deliver:to:startingAt: SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: Announcer>>announce: RubScrolledTextMorph>>acceptContents RubScrolledTextMorph>>whenTextAcceptRequest: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ] BlockClosure>>ifCurtailed:
you are welcome :) Le 11/11/15 17:59, Dimitris Chloupis a écrit :
thank you Stef
On Wed, Nov 11, 2015 at 6:51 PM stepharo <stepharo@free.fr <mailto:stepharo@free.fr>> wrote:
this is probably linked to the changes denis did to remove Smalltalk globals everywhere. indeed this is it
envt := Smalltalk globals.
got changed into self browsedEnvironment but it is wrong since Nautilus defines
AbstractNautilusUI>>browsedEnvironment
^ self model browsedEnvironment
I will send a fix now
Stef
Le 11/11/15 09:09, Thierry Goubier a écrit : > Le 11/11/2015 08:53, Dimitris Chloupis a écrit : >> And I am back with new problems with pharo 5 , I hope you missed me :D >> >> If I try to create a new class called ChrTimeInputM that subclasses >> TextMorph I am getting this MNU with the stack bellow > > Strange. > > Code failing is this: > > ((oldClass isNil or: [oldClass theNonMetaClass name asString ~= > newClassName]) > and: [envt includesKey: newClassName asSymbol]) ifTrue: > ["Attempting to define new class over existing one when > not looking at the original one in this browser..." > (self confirm: ((newClassName , ' is an existing class in > this system. > Redefining it might cause serious problems. > Is this really what you want to do?') asText makeBoldFrom: 1 to: > newClassName size)) > ifFalse: [^ nil]]. > > The strange thing is that, of anything which looks like an environment > in Pharo, very few do have an includesKey: and certainly not > RBBrowserEnvironment > > Moreover, in the case of scoped browsing, I don't think the test > amount to anything significant: if I try to redefine Object and if > Object is not in the browsed environment, I'll get no warning whatsoever. > > Thierry > >> I tried to replace includesKey: with includesClass: but then it alerts >> me falsely that there is already an existing class in the image, I tried >> this on the latest pharo 5 image with nothing installed in it. Here is >> the stack >> >> RBBrowserEnvironment(Object)>>doesNotUnderstand: #includesKey: >> PackageTreeNautilusUI(AbstractTool)>>compileANewClassFrom:notifying:startingFrom: >> >> PackageTreeNautilusUI(AbstractNautilusUI)>>compileAClassFrom:notifying: >> ClassDefinitionAcceptor>>accept:notifying: >> PackageTreeNautilusUI(NautilusUI)>>compileSource:notifying: >> PackageTreeNautilusUI(AbstractNautilusUI)>>whenTextAcceptedInView: >> MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action >> cull: anAnnouncement cull: announcer ] in >> AnnouncementSubscription>>deliver: in Block: [ action cull: >> anAnnouncement cull: announcer ] BlockClosure>>on:do: >> BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription >> deliver: anAnnouncement ] in >> SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription >> deliver: anAnnouncement ] BlockClosure>>ifCurtailed: >> SubscriptionRegistry>>deliver:to:startingAt: >> SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: >> Announcer>>announce: RubScrolledTextMorph>>acceptContents >> RubScrolledTextMorph>>whenTextAcceptRequest: MessageSend>>value: >> MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement >> cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ >> action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: >> BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription >> deliver: anAnnouncement ] in >> SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription >> deliver: anAnnouncement ] BlockClosure>>ifCurtailed: > > >
fix is getting processed now. Le 11/11/15 18:14, stepharo a écrit :
you are welcome :)
Le 11/11/15 17:59, Dimitris Chloupis a écrit :
thank you Stef
On Wed, Nov 11, 2015 at 6:51 PM stepharo <stepharo@free.fr> wrote:
this is probably linked to the changes denis did to remove Smalltalk globals everywhere. indeed this is it
envt := Smalltalk globals.
got changed into self browsedEnvironment but it is wrong since Nautilus defines
AbstractNautilusUI>>browsedEnvironment
^ self model browsedEnvironment
I will send a fix now
Stef
Le 11/11/15 09:09, Thierry Goubier a écrit : > Le 11/11/2015 08:53, Dimitris Chloupis a écrit : >> And I am back with new problems with pharo 5 , I hope you missed me :D >> >> If I try to create a new class called ChrTimeInputM that subclasses >> TextMorph I am getting this MNU with the stack bellow > > Strange. > > Code failing is this: > > ((oldClass isNil or: [oldClass theNonMetaClass name asString ~= > newClassName]) > and: [envt includesKey: newClassName asSymbol]) ifTrue: > ["Attempting to define new class over existing one when > not looking at the original one in this browser..." > (self confirm: ((newClassName , ' is an existing class in > this system. > Redefining it might cause serious problems. > Is this really what you want to do?') asText makeBoldFrom: 1 to: > newClassName size)) > ifFalse: [^ nil]]. > > The strange thing is that, of anything which looks like an environment > in Pharo, very few do have an includesKey: and certainly not > RBBrowserEnvironment > > Moreover, in the case of scoped browsing, I don't think the test > amount to anything significant: if I try to redefine Object and if > Object is not in the browsed environment, I'll get no warning whatsoever. > > Thierry > >> I tried to replace includesKey: with includesClass: but then it alerts >> me falsely that there is already an existing class in the image, I tried >> this on the latest pharo 5 image with nothing installed in it. Here is >> the stack >> >> RBBrowserEnvironment(Object)>>doesNotUnderstand: #includesKey: >> PackageTreeNautilusUI(AbstractTool)>>compileANewClassFrom:notifying:startingFrom: >> >> PackageTreeNautilusUI(AbstractNautilusUI)>>compileAClassFrom:notifying: >> ClassDefinitionAcceptor>>accept:notifying: >> PackageTreeNautilusUI(NautilusUI)>>compileSource:notifying: >> PackageTreeNautilusUI(AbstractNautilusUI)>>whenTextAcceptedInView: >> MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action >> cull: anAnnouncement cull: announcer ] in >> AnnouncementSubscription>>deliver: in Block: [ action cull: >> anAnnouncement cull: announcer ] BlockClosure>>on:do: >> BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription >> deliver: anAnnouncement ] in >> SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription >> deliver: anAnnouncement ] BlockClosure>>ifCurtailed: >> SubscriptionRegistry>>deliver:to:startingAt: >> SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: >> Announcer>>announce: RubScrolledTextMorph>>acceptContents >> RubScrolledTextMorph>>whenTextAcceptRequest: MessageSend>>value: >> MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement >> cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ >> action cull: anAnnouncement cull: announcer ] BlockClosure>>on:do: >> BlockClosure>>on:fork: AnnouncementSubscription>>deliver: [ subscription >> deliver: anAnnouncement ] in >> SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription >> deliver: anAnnouncement ] BlockClosure>>ifCurtailed: > > >
participants (4)
-
Dimitris Chloupis -
Stephan Eggermont -
stepharo -
Thierry Goubier