Re: [Pharo-dev] vmLatest zeroconf problem
Now get.pharo.org looks like dead.
Re: [Pharo-dev] vmLatest zeroconf problem
Might be related to the maintenance at INRIA. On 11.11.2013, at 09:07, p...@highoctane.be wrote: > Now get.pharo.org looks like dead.
[Pharo-dev] files.pharo.org get.pharo.org down.
No way to download anything, including from the pharo-project homepage.
Re: [Pharo-dev] vmLatest zeroconf problem
Does the same happen with bash? The scripts were written for bash, not sh, so there might be slight differences in execution… On 10.11.2013, at 22:06, Tudor Girba wrote: > I seem to get a problem with the latest zero conf scripts when downloading > only the latest VM. > > I can reproduce the problem on a Mac like this: > > If I do: > curl -L get.pharo.org/30+vmLatest | sh > ./pharo-ui > ==> the dialog opens fine > > But, if I do: > curl -L get.pharo.org/vmLatest | sh > ./pharo-ui > ==> ERROR: ./pharo-ui: line 11: -n: command not found > > > Cheers, > Doru > > -- > www.tudorgirba.com > > "Every thing has its own flow"
Re: [Pharo-dev] vmLatest zeroconf problem
On 11 Nov 2013, at 09:07, p...@highoctane.be wrote: > Now get.pharo.org looks like dead. There is scheduled maintenance going on (it’s a holiday, http://en.wikipedia.org/wiki/Armistice_Day).
Re: [Pharo-dev] files.pharo.org get.pharo.org down.
dont know if that plays that role but i think i saw here an annoucement that inria would be down on monday. I also tried to get images with pharolauncher and it failed. On Mon, Nov 11, 2013 at 10:46 AM, p...@highoctane.be wrote: > > No way to download anything, including from the pharo-project homepage. >
[Pharo-dev] Large difference in image size when loading configuration
I am experiencing the following while loading my configuration. REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack --install=0.4 Everything loads fine. But: with a package-cache/ empty, the final image is: 44.452.060 with a changes file of: 10.831.877 with a primed package-cache (meaning, letting the mczs in place and starting with a fresh image), the final image is: 29.480.912 with a changes file of: 10.830.899 That's quite a huge difference. I tried again to be sure (fresh image and empty package-cache, then fresh image only) and, weirdly enough, even if the difference in size was the same, the sizes themselves weren't.the same... 44.446.152 - 10.830.899 29.986.284 - 10.831.543 Maybe that's due to a GC occurring differently between the two. But this gives the impression that one cannot load a base image, apply a configuration, and end up with the same image twice. Weird. Why is this difference so large in the first place ? Phil
Re: [Pharo-dev] Refactoring on more than one method
Is cmd-t something different than running a test? Norbert Am 10.11.2013 um 23:59 schrieb Alexandre Bergel : > Stef showed me Cmd-t, really really cool! > Pharo is all moving to a nice direction. > > Alexandre > > > On Nov 10, 2013, at 4:11 PM, Nicolas Cellier > wrote: > >> Thanks for sharing positive feedback, and letting us know about new features >> we may have missed. >> This is important too. >> >> >> 2013/11/10 Alexandre Bergel >> Hi! >> >> Just to share my happiness. >> >> I've just tried in Nautilus: >> 1 - select several methods in a class (keep the Cmd key pressed to do so) >> 2 - applying the pulling up refactoring >> 3 - all the methods I have selected are pulled up, in the superclass >> >> It works as a charm. Really cool! I have been waiting for this for many >> years... >> >> Cheers, >> Alexandre >> -- >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> Alexandre Bergel http://www.bergel.eu >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >> >> >> >> > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > >
Re: [Pharo-dev] Large difference in image size when loading configuration
What is the total size of the package-cache, like du -hs ? Could it be the same size of the difference in image size ? That would mean that the contents of the packages themselves is cached in the image... On 11 Nov 2013, at 10:39, p...@highoctane.be wrote: > I am experiencing the following while loading my configuration. > > REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main > ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack --install=0.4 > > Everything loads fine. > > But: > > with a package-cache/ empty, the final image is: 44.452.060 with a changes > file of: 10.831.877 > > with a primed package-cache (meaning, letting the mczs in place and starting > with a fresh image), the final image is: 29.480.912 with a changes file of: > 10.830.899 > > That's quite a huge difference. > > I tried again to be sure (fresh image and empty package-cache, then fresh > image only) and, weirdly enough, even if the difference in size was the same, > the sizes themselves weren't.the same... > > 44.446.152 - 10.830.899 > 29.986.284 - 10.831.543 > > Maybe that's due to a GC occurring differently between the two. > > But this gives the impression that one cannot load a base image, apply a > configuration, and end up with the same image twice. Weird. > > Why is this difference so large in the first place ? > > Phil > > > >
Re: [Pharo-dev] Refactoring on more than one method
Running a test happens with Cmd+j, cmd+m (for a method), or Cmd+j, cmd+c (for a class). Doru On Mon, Nov 11, 2013 at 11:28 AM, Norbert Hartl wrote: > Is cmd-t something different than running a test? > > Norbert > > Am 10.11.2013 um 23:59 schrieb Alexandre Bergel : > > > Stef showed me Cmd-t, really really cool! > > Pharo is all moving to a nice direction. > > > > Alexandre > > > > > > On Nov 10, 2013, at 4:11 PM, Nicolas Cellier < > nicolas.cellier.aka.n...@gmail.com> wrote: > > > >> Thanks for sharing positive feedback, and letting us know about new > features we may have missed. > >> This is important too. > >> > >> > >> 2013/11/10 Alexandre Bergel > >> Hi! > >> > >> Just to share my happiness. > >> > >> I've just tried in Nautilus: > >> 1 - select several methods in a class (keep the Cmd key pressed to do > so) > >> 2 - applying the pulling up refactoring > >> 3 - all the methods I have selected are pulled up, in the superclass > >> > >> It works as a charm. Really cool! I have been waiting for this for many > years... > >> > >> Cheers, > >> Alexandre > >> -- > >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > >> Alexandre Bergel http://www.bergel.eu > >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > >> > >> > >> > >> > >> > > > > -- > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > > Alexandre Bergel http://www.bergel.eu > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > > > > > -- www.tudorgirba.com "Every thing has its own flow"
Re: [Pharo-dev] Large difference in image size when loading configuration
[User.Techlab] → du -hs package-cache 5.3Mpackage-cache Phil On Mon, Nov 11, 2013 at 11:41 AM, Sven Van Caekenberghe wrote: > What is the total size of the package-cache, like du -hs ? > Could it be the same size of the difference in image size ? > That would mean that the contents of the packages themselves is cached in > the image... > > On 11 Nov 2013, at 10:39, p...@highoctane.be wrote: > > > I am experiencing the following while loading my configuration. > > > > REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main > > ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack --install=0.4 > > > > Everything loads fine. > > > > But: > > > > with a package-cache/ empty, the final image is: 44.452.060 with a > changes file of: 10.831.877 > > > > with a primed package-cache (meaning, letting the mczs in place and > starting with a fresh image), the final image is: 29.480.912 with a changes > file of: 10.830.899 > > > > That's quite a huge difference. > > > > I tried again to be sure (fresh image and empty package-cache, then > fresh image only) and, weirdly enough, even if the difference in size was > the same, the sizes themselves weren't.the same... > > > > 44.446.152 - 10.830.899 > > 29.986.284 - 10.831.543 > > > > Maybe that's due to a GC occurring differently between the two. > > > > But this gives the impression that one cannot load a base image, apply a > configuration, and end up with the same image twice. Weird. > > > > Why is this difference so large in the first place ? > > > > Phil > > > > > > > > > > >
Re: [Pharo-dev] PharoSounds is not heard
I was able to use the vm-sound-pulse.so from the Squeak VM to get Pharo on Ubuntu to play sound. For whatever reason, it doesn't work anymore. I think the big problem is that sound is based on a 32-bit code and the 64-bit Ubuntu does not work with it. Cheers, Jeff On Sat, Nov 9, 2013 at 12:14 PM, Stéphane Ducasse wrote: > > On Nov 9, 2013, at 2:57 AM, Stéphane Ducasse > wrote: > > 5. Test if sound works with: > FMSound clarinet2 play > > > Mariano > > I could only try the code above > May be you should put your Wave file somewhere so that we can try it > > (SampledSound fromWaveFileNamed: 'mainLoopMG2.wav') play > > > -- Jochen "Jeff" Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
Re: [Pharo-dev] PharoSounds is not heard
Hi All, I am using the Pharo 3.0, the latest version #30557. The vm used is the one that comes in the zip file, I think that they are the latest stable. Best regards, Mariano On Sat, 09 Nov 2013 04:34:22 -0300, jannik.laval wrote: Hi Mariano, Which Pharo do you use ? In Pharo 2, your lines of code does not work, but Sound works fine: I use it in Phratch. I did not yet try it in Pharo 3.0 Jannik On Nov 9, 2013, at 2:57 AM, Stéphane Ducasse wrote: On Nov 8, 2013, at 3:15 PM, Mariano wrote: Hello All, I am trying to use sound package, but I couldn't make it work. I didn't get any errors but the sounds is not heard. I tested it on Ubuntu and Windows XP, and in both platform the behavior was the same. What I did is the following: 1. Add the Montichello repository "http://smalltalkhub.com/mc/PharoExtras/Sound/main"; 2. Then load the ConfigurationOfPharoSound project. 3. Then evaluate (ConfigurationOfPharoSound project version: '6.0') load. 4. Enable the sound with: SoundSystem soundEnabled: true. 5. Test if sound works with: FMSound clarinet2 play (SampledSound fromWaveFileNamed: 'mainLoopMG2.wav') play I will appreciate if someone could help with this. On mac it is working and I asked Mariano to check on his machine because he was forced to use Squeak instead of Pharo because of that :) Mariano which vm are you using? Stef Best regards, Mariano -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Re: [Pharo-dev] PharoSounds is not heard
The file could be downloded from: http : / / psiware.t28.net / downloads / mainLoopMG2.zip It is a 16bits, mono and 44khz wave file. Best regards, Mariano On Sat, 09 Nov 2013 08:14:56 -0300, Stéphane Ducasse wrote: On Nov 9, 2013, at 2:57 AM, Stéphane Ducasse wrote: 5. Test if sound works with: FMSound clarinet2 play Mariano I could only try the code above May be you should put your Wave file somewhere so that we can try it (SampledSound fromWaveFileNamed: 'mainLoopMG2.wav') play -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Re: [Pharo-dev] Large difference in image size when loading configuration
Phil, what happens if you evaluate (and save after) to the big image: MCFileBasedRepository flushAllCaches. 3 timesRepeat: [Smalltalk garbageCollect]. On Mon, Nov 11, 2013 at 8:30 AM, p...@highoctane.be wrote: > [User.Techlab] → du -hs package-cache > 5.3Mpackage-cache > > Phil > > On Mon, Nov 11, 2013 at 11:41 AM, Sven Van Caekenberghe wrote: > >> What is the total size of the package-cache, like du -hs ? >> Could it be the same size of the difference in image size ? >> That would mean that the contents of the packages themselves is cached in >> the image... >> >> On 11 Nov 2013, at 10:39, p...@highoctane.be wrote: >> >> > I am experiencing the following while loading my configuration. >> > >> > REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main >> > ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack --install=0.4 >> > >> > Everything loads fine. >> > >> > But: >> > >> > with a package-cache/ empty, the final image is: 44.452.060 with a >> changes file of: 10.831.877 >> > >> > with a primed package-cache (meaning, letting the mczs in place and >> starting with a fresh image), the final image is: 29.480.912 with a changes >> file of: 10.830.899 >> > >> > That's quite a huge difference. >> > >> > I tried again to be sure (fresh image and empty package-cache, then >> fresh image only) and, weirdly enough, even if the difference in size was >> the same, the sizes themselves weren't.the same... >> > >> > 44.446.152 - 10.830.899 >> > 29.986.284 - 10.831.543 >> > >> > Maybe that's due to a GC occurring differently between the two. >> > >> > But this gives the impression that one cannot load a base image, apply >> a configuration, and end up with the same image twice. Weird. >> > >> > Why is this difference so large in the first place ? >> > >> > Phil >> > >> > >> > >> > >> >> >> > -- Mariano http://marianopeck.wordpress.com
[Pharo-dev] Bugs and files sites down?
Hi guys, We are trying to start the Pharo Sprint here at DCC UChile but the sites files.pharo.org / bugs.pharo.org seems to be down. Cheers, Pablo
[Pharo-dev] Fwd: [ci-announces] CI shutdown on the 11th of November
files.pharo.org and get.pharo.org will remain DOWN for the rest of the day. Begin forwarded message: > From: Emmanuel Jeanvoine > Subject: Re: [ci-announces] CI shutdown on the 11th of November > Date: 9. November 2013 09:00:31 MEZ > To: ci-announ...@inria.fr > Reply-To: Emmanuel Jeanvoine > > On Thu, 07 Nov 2013, Emmanuel Jeanvoine wrote: > >> Dear users, >> >> The 11th of November, the IT department will stop the national IT >> services. As a consequence, the CI service will be stopped. >> >> In order to prevent any trouble, we strongly advice users to perform >> the following steps before the 11th of November (Sunday evening at the >> very latest): >> - stop the Jenkins instance of your project (see >> https://ci.inria.fr/project/PROJECTNAME/show#ci) >> - stop all the slaves related to your project (directly with a clean >> shutdown in the slave or from >> https://ci.inria.fr/project/PROJECTNAME/show#slaves) >> >> By the way, if you notice unused slaves in your project, you are >> strongly encouraged to removed them ("delete" button on >> https://ci.inria.fr/project/PROJECTNAME/show#slaves, or "destroy" >> button directly on the CloudStack interface). Stopping the unused >> slaves is not enough to free the related resources. >> >> Monday in the morning, the remaining running slaves will be stopped. >> After the maintenance, the Jenkins instances and the slaves will be >> restarted. >> >> Thus we hope that the service will be fully available on Tuesday in >> the morning. Anyway, since it is an heavy operation (major changes on >> the network of the datacenter) issues might occur, so we will >> communicate if communication means are available ;). >> >> Thank you for your understanding, >> Emmanuel > > > This is a reminder, you still have the opportunity to shutdown your > slaves and jenkins instances before tomorrow evening. This might be > useful to prevent slaves and jenkins corruption. > > Regards, > Emmanuel
Re: [Pharo-dev] Bugs and files sites down?
I just forwarded the INRIA announcement to the list: due to maintenance files.pharo.org and get.pharo.org will remain down for the day. Max On 11.11.2013, at 13:36, Pablo Estefó wrote: > Hi guys, > > We are trying to start the Pharo Sprint here at DCC UChile but the sites > files.pharo.org / bugs.pharo.org seems to be down. > > Cheers, > > Pablo
Re: [Pharo-dev] Bugs and files sites down?
pharo.fogbugz.com is still online though. On 11.11.2013, at 13:47, Max Leske wrote: > I just forwarded the INRIA announcement to the list: due to maintenance > files.pharo.org and get.pharo.org will remain down for the day. > > Max > > > On 11.11.2013, at 13:36, Pablo Estefó wrote: > >> Hi guys, >> >> We are trying to start the Pharo Sprint here at DCC UChile but the sites >> files.pharo.org / bugs.pharo.org seems to be down. >> >> Cheers, >> >> Pablo >
[Pharo-dev] Contributor in Pharo30Inbox
Hi! Someone can add "abergel" to the contributors please? http://smalltalkhub.com/#!/~Pharo/Pharo30Inbox/contributors Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Who is Penelope, Ulysse's wife?
Looks like to be a robot, but apparently she is able to fill bug entries? Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] In-memory FileSystem write streams not being polymorphic
Hi all! I've been working in a fix of PharoFilesOpener and decided to test the current behavior first before changing it, so I extracted the dependency to FileSystem and tried to use an instance created through FileSystem memory for testing. The code gets the write stream for a file and then sends the #isReadOnly message to do some stuff. The thing is that the streams returned form the in-memory file system are instances of WriteStream (see MemoryHandle >> writeStream) instead of StandardFileStream (see FileHandle >> writeStream) and so they don't respond the #isReadOnly message. Is this the expected way the in-memory file system should work? Shouldn't it return polymorphic file streams? If this is a bug, what change would you recommend to do? I was thinking about returning StandardFileStreams instances from MemoryHandle >> writeStream. Cheers! Nico PM
Re: [Pharo-dev] Who is Penelope, Ulysse's wife?
Penelope was the monkey used to migrate from Google issue tracker to fogbugz :) Ben On 11 Nov 2013, at 14:04, Alexandre Bergel wrote: > Looks like to be a robot, but apparently she is able to fill bug entries? > > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > >
Re: [Pharo-dev] In-memory FileSystem write streams not being polymorphic
On 2013-11-11, at 14:19, Nicolás Papagna Maldonado wrote: > Hi all! > > I've been working in a fix of PharoFilesOpener and decided to test the > current behavior first before changing it, so I extracted the dependency to > FileSystem and tried to use an instance created through FileSystem memory for > testing. > > The code gets the write stream for a file and then sends the #isReadOnly > message to do some stuff. > > The thing is that the streams returned form the in-memory file system are > instances of WriteStream (see MemoryHandle >> writeStream) instead of > StandardFileStream (see FileHandle >> writeStream) and so they don't respond > the #isReadOnly message. > > Is this the expected way the in-memory file system should work? Shouldn't it > return polymorphic file streams? You are absolutely right, it definitely should, but this requires a bit of work (see below) > If this is a bug, what change would you recommend to do? > I was thinking about returning StandardFileStreams instances from > MemoryHandle >> writeStream. The memory filesystem works by definition in the image, whereas the StandardFileStream is bound to external file operations through the primitives (see for instance #basicNext). I think you have two choices here: 1. rewrite your code that it does not rely on the #isReadOnly but rather check up front if you can read the file 2. implement your own proper FileStream that works on the internal ByteArray of the memory FileSystem (maybe there is already a decent solution somewhere in the Zinc code) or of course, you start looking at porting XStreams to pharo ;), which on the long run will solve many more problems. The current situation is not that satisfactory :/ signature.asc Description: Message signed with OpenPGP using GPGMail
[Pharo-dev] declareTempAndPaste:
Hi! Many of us have discovered that in the last Pharo adding a temporary variable is added before the | .. | part of the section. Pablo Estefo and I spend time on understanding where this comes from. But since this is deep into the compilation chain, it would be great if an expert (Marcus ? :-) could check what we have done. OCUndeclaredVariableWarning>>declareTempAndPaste: is the culprit method. We have changed: tempsMark := self methodNode body leftBar ifNil: [ self methodNode body start ]. into tempsMark := self methodNode body rightBar ifNil: [ self methodNode body start ]. So, the new version of the method should be: -=-=-=-=-=-=-=-=-=-=-=-= OCUndeclaredVariableWarning>>declareTempAndPaste: name | insertion delta theTextString characterBeforeMark tempsMark | theTextString := self methodNode source. tempsMark := self methodNode body rightBar ifNil: [ self methodNode body start ]. characterBeforeMark := theTextString at: tempsMark-1 ifAbsent: [$ ]. (theTextString at: tempsMark) = $| ifTrue: [ "Paste it before the second vertical bar" insertion := name, ' '. characterBeforeMark isSeparator ifFalse: [insertion := ' ', insertion]. delta := 0. ] ifFalse: [ "No bars - insert some with CR, tab" insertion := '| ' , name , ' |',String cr. delta := 2. "the bar and CR" characterBeforeMark = Character tab ifTrue: [ insertion := insertion , String tab. delta := delta + 1. "the tab" ] ]. tempsMark := tempsMark + (self substituteWord: insertion wordInterval: (tempsMark to: tempsMark-1) offset: 0) - delta. self methodNode scope addTemp: name. ^ (node owningScope lookupVar: node name) ifNil: [self error: 'should not happen'] -=-=-=-=-=-=-=-=-=-=-=-= We have tried different cases and it seems to work. Does this makes sense? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Who is Penelope, Ulysse's wife?
Here: (once maintenance window is closed) http://bugs.pharo.org/ She allows the input of issues for people without FogBugz login etc I think. One should give us the full story on Ulysse the monkey for issues tests and Penelope Phil On Mon, Nov 11, 2013 at 2:04 PM, Alexandre Bergel wrote: > Looks like to be a robot, but apparently she is able to fill bug entries? > > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > >
Re: [Pharo-dev] Questions about Athens
Igor I am trying your session code but it does not work for me. I still get the red box of doom. This is the method checkSession session == Smalltalk session ifFalse: [ surface := surface := AthensCairoSurface extent: self extent. . session := Smalltalk session. ] and This is my full stack NBFFICallout class>>signalError: NBFFICallout class(NBNativeCodeGen class)>>handleFailureIn:nativeCode: NBFFICalloutAPI>>function:module: AthensCairoSurface class(Object)>>nbCall: AthensCairoSurface class>>primImage:width:height: NBFFICallout class(NBNativeCodeGen class)>>retrySend: AthensCairoSurface class>>extent:format: AthensCairoSurface class>>extent: Hyperion>>mouseDown: Hyperion(Morph)>>handleMouseDown: MouseButtonEvent>>sentTo: Hyperion(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: Hyperion(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: SystemWindow(Morph)>>processEvent:using: SystemWindow(Morph)>>processEvent: SystemWindow>>mouseDown: in Block: [ ... BlockClosure>>ensure: SystemWindow>>mouseDown: SystemWindow(Morph)>>handleMouseDown: MouseButtonEvent>>sentTo: SystemWindow(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: SystemWindow(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: On Sat, Nov 2, 2013 at 12:01 PM, kilon alios wrote: > and here is the strange MNU that I was talking about earlier > > here is the full stack > > Hyperion(Object)>>doesNotUnderstand: #passenger > PackageTreeModel>>acceptDroppingMorph:event:inMorph: > MorphTreeMorph>>acceptDroppingMorph:event: > MorphTreeMorph(Morph)>>handleDropMorph: > DropEvent>>sentTo: > MorphTreeMorph(Morph)>>handleEvent: > MorphicEventDispatcher>>dispatchDropEvent:with: > MorphicEventDispatcher>>dispatchEvent:with: > MorphTreeMorph(Morph)>>processEvent:using: > MorphicEventDispatcher>>dispatchDropEvent:with: > MorphicEventDispatcher>>dispatchEvent:with: > PanelMorph(Morph)>>processEvent:using: > MorphicEventDispatcher>>dispatchDropEvent:with: > MorphicEventDispatcher>>dispatchEvent:with: > NautilusWindow(Morph)>>processEvent:using: > MorphicEventDispatcher>>dispatchDropEvent:with: > MorphicEventDispatcher>>dispatchEvent:with: > WorldMorph(Morph)>>processEvent:using: > WorldMorph(Morph)>>processEvent: > HandMorph>>sendEvent:focus:clear: > HandMorph>>sendEvent:focus: > HandMorph>>dropMorph:event: > HandMorph>>dropMorphs: in Block: [ :m | ... > Array(SequenceableCollection)>>reverseDo: > HandMorph(Morph)>>submorphsReverseDo: > HandMorph>>dropMorphs: > HandMorph>>handleEvent: > HandMorph>>processEvents > WorldState>>doOneCycleNowFor: in Block: [ :h | ... > Array(SequenceableCollection)>>do: > > > This one happens when I bring up the halos and try to move the morph > around.Morphs gets deleted because of MNU. Note it does not happen with > just my Class (Hyperion) it happens with any morph using Athens. > > Hyperion in this case is a partial copy of the AthensDemoMorph. As always > I am using Pharo 3 (Latest update: #30534) . > > > On Fri, Nov 1, 2013 at 7:14 PM, Igor Stasenko wrote: > >> >> >> >> On 1 November 2013 14:32, Stéphane Ducasse wrote: >> >>> Ok now the explanation :) >>> Spec changed recently in 30. >>> >>> >> then i need help on that.. what is needs to be changed. >> btw, i noticed that monticello configuration browser also having problems >> with spec. >> >> >>> Stef >>> >>> >>> Again I am following Igor instructions, loaded Athens-Tutorial from >>> smalltalkhub , opened a new workspace, AthensTutorial open. I am using a >>> pharo 3 that downloaded just yesterday. (Pharo3.0 Latest update: #30532) >>> >>> here is the full stack >>> >>> AthensViewMorph(Object)>>doesNotUnderstand: #layout: >>> SpecInterpreter>>actionToPerformWithSelector:arguments: >>> SpecInterpreter>>performNextSelectorAndIncrementIndex >>> SpecInterpreter>>interpretASpec:selector: >>> SpecInterpreter>>interpretASpec:model:selector: >>> SpecInterpreter class>>private_interpretASpec:model:selector: >>> SpecInterpreter>>performNextSelectorAndIncrementIndex in Block: [ :each >>> | self class private_interpretASpec: each ...etc... >>> Array(SequenceableCollection)>>collect: >>> SpecInterpreter>>performNextSelectorAndIncrementIndex >>> SpecInterpreter>>interpretASpec:selector: >>> SpecInterpreter>>interpretASpec:model:selector: >>> SpecInterpreter class>>private_interpretASpec:model:selector: >>> SpecInterpreter class>>interpretASpec:model:selector: in Block: [ result >>> := self private_interpretASpec: aPresente...etc... >>> BlockClosure>>ensure: >>> SpecInterpreter class>>interpretASpec:model:selector: >>> SpecInterpreter class>>interpretASpec:model: >>> AthensTutorial(ComposableModel)>>buildWithSpecLayout: >>> MorphicWindowAdapter>>addModelIn:withSpecLayout: >>> MorphicWindowAdapter(AbstractAdapter)>>update:wit
Re: [Pharo-dev] Questions about Athens
sorry previous stack was for slightly diffirent code this is the correct one UndefinedObject(Object)>>doesNotUnderstand: #drawDuring: Hyperion>>render Hyperion>>drawOn: FormCanvas(Canvas)>>draw: FormCanvas(Canvas)>>drawMorph: Hyperion(Morph)>>fullDrawOn: in Block: [ ... FormCanvas>>roundCornersOf:in:during: FormCanvas(Canvas)>>roundCornersOf:during: Hyperion(Morph)>>fullDrawOn: in Block: [ ... BlockClosure>>on:do: Hyperion(Morph)>>fullDrawOn: FormCanvas(Canvas)>>fullDraw: FormCanvas(Canvas)>>fullDrawMorph: SystemWindow(Morph)>>drawSubmorphsOn: in Block: [ :m | canvas fullDrawMorph: m ] Array(SequenceableCollection)>>reverseDo: SystemWindow(Morph)>>drawSubmorphsOn: in Block: [ :canvas | submorphs reverseDo: [ :m | canvas ful...etc... FormCanvas>>clipBy:during: SystemWindow(Morph)>>drawSubmorphsOn: SystemWindow(Morph)>>fullDrawOn: in Block: [ ... FormCanvas>>roundCornersOf:in:during: FormCanvas(Canvas)>>roundCornersOf:during: SystemWindow(Morph)>>fullDrawOn: in Block: [ ... BlockClosure>>on:do: SystemWindow(Morph)>>fullDrawOn: FormCanvas(Canvas)>>fullDraw: FormCanvas(Canvas)>>fullDrawMorph: WorldState>>drawWorld:submorphs:invalidAreasOn: in Block: drawWorld: aWorld submorphs: submorphs invalidArea...etc... Rectangle>>allAreasOutsideList:startingAt:do: Rectangle>>allAreasOutsideList:do: WorldState>>drawWorld:submorphs:invalidAreasOn: in Block: [ :dirtyRect | ... On Mon, Nov 11, 2013 at 4:43 PM, kilon alios wrote: > Igor I am trying your session code but it does not work for me. I still > get the red box of doom. This is the method > > checkSession > > session == Smalltalk session ifFalse: [ > surface := surface := AthensCairoSurface extent: self extent. . > session := Smalltalk session. > ] > > and This is my full stack > > NBFFICallout class>>signalError: > NBFFICallout class(NBNativeCodeGen class)>>handleFailureIn:nativeCode: > NBFFICalloutAPI>>function:module: > AthensCairoSurface class(Object)>>nbCall: > AthensCairoSurface class>>primImage:width:height: > NBFFICallout class(NBNativeCodeGen class)>>retrySend: > AthensCairoSurface class>>extent:format: > AthensCairoSurface class>>extent: > Hyperion>>mouseDown: > Hyperion(Morph)>>handleMouseDown: > MouseButtonEvent>>sentTo: > Hyperion(Morph)>>handleEvent: > MorphicEventDispatcher>>dispatchMouseDown:with: > MorphicEventDispatcher>>dispatchEvent:with: > Hyperion(Morph)>>processEvent:using: > MorphicEventDispatcher>>dispatchMouseDown:with: > MorphicEventDispatcher>>dispatchEvent:with: > SystemWindow(Morph)>>processEvent:using: > SystemWindow(Morph)>>processEvent: > SystemWindow>>mouseDown: in Block: [ ... > BlockClosure>>ensure: > SystemWindow>>mouseDown: > SystemWindow(Morph)>>handleMouseDown: > MouseButtonEvent>>sentTo: > SystemWindow(Morph)>>handleEvent: > MorphicEventDispatcher>>dispatchMouseDown:with: > MorphicEventDispatcher>>dispatchEvent:with: > SystemWindow(Morph)>>processEvent:using: > MorphicEventDispatcher>>dispatchMouseDown:with: > MorphicEventDispatcher>>dispatchEvent:with: > > > > On Sat, Nov 2, 2013 at 12:01 PM, kilon alios wrote: > >> and here is the strange MNU that I was talking about earlier >> >> here is the full stack >> >> Hyperion(Object)>>doesNotUnderstand: #passenger >> PackageTreeModel>>acceptDroppingMorph:event:inMorph: >> MorphTreeMorph>>acceptDroppingMorph:event: >> MorphTreeMorph(Morph)>>handleDropMorph: >> DropEvent>>sentTo: >> MorphTreeMorph(Morph)>>handleEvent: >> MorphicEventDispatcher>>dispatchDropEvent:with: >> MorphicEventDispatcher>>dispatchEvent:with: >> MorphTreeMorph(Morph)>>processEvent:using: >> MorphicEventDispatcher>>dispatchDropEvent:with: >> MorphicEventDispatcher>>dispatchEvent:with: >> PanelMorph(Morph)>>processEvent:using: >> MorphicEventDispatcher>>dispatchDropEvent:with: >> MorphicEventDispatcher>>dispatchEvent:with: >> NautilusWindow(Morph)>>processEvent:using: >> MorphicEventDispatcher>>dispatchDropEvent:with: >> MorphicEventDispatcher>>dispatchEvent:with: >> WorldMorph(Morph)>>processEvent:using: >> WorldMorph(Morph)>>processEvent: >> HandMorph>>sendEvent:focus:clear: >> HandMorph>>sendEvent:focus: >> HandMorph>>dropMorph:event: >> HandMorph>>dropMorphs: in Block: [ :m | ... >> Array(SequenceableCollection)>>reverseDo: >> HandMorph(Morph)>>submorphsReverseDo: >> HandMorph>>dropMorphs: >> HandMorph>>handleEvent: >> HandMorph>>processEvents >> WorldState>>doOneCycleNowFor: in Block: [ :h | ... >> Array(SequenceableCollection)>>do: >> >> >> This one happens when I bring up the halos and try to move the morph >> around.Morphs gets deleted because of MNU. Note it does not happen with >> just my Class (Hyperion) it happens with any morph using Athens. >> >> Hyperion in this case is a partial copy of the AthensDemoMorph. As always >> I am using Pharo 3 (Latest update: #30534) . >> >> >> On Fri, Nov 1, 2013 at 7:14 PM, Igor Stasenko wrote: >> >>> >>> >>> >>> On 1 November 2013 14:32, Stéphane Ducasse wrote: >>> Ok now the explanation :) Spec changed recently in 30. >>> then i need hel
Re: [Pharo-dev] Large difference in image size when loading configuration
Image size goes back to: 29.068.612 Looks like all package contents are cached in the image... Phil On Mon, Nov 11, 2013 at 1:32 PM, Mariano Martinez Peck < marianop...@gmail.com> wrote: > Phil, what happens if you evaluate (and save after) to the big image: > > MCFileBasedRepository flushAllCaches. > 3 timesRepeat: [Smalltalk garbageCollect]. > > > On Mon, Nov 11, 2013 at 8:30 AM, p...@highoctane.be wrote: > >> [User.Techlab] → du -hs package-cache >> 5.3Mpackage-cache >> >> Phil >> >> On Mon, Nov 11, 2013 at 11:41 AM, Sven Van Caekenberghe wrote: >> >>> What is the total size of the package-cache, like du -hs ? >>> Could it be the same size of the difference in image size ? >>> That would mean that the contents of the packages themselves is cached >>> in the image... >>> >>> On 11 Nov 2013, at 10:39, p...@highoctane.be wrote: >>> >>> > I am experiencing the following while loading my configuration. >>> > >>> > REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main >>> > ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack >>> --install=0.4 >>> > >>> > Everything loads fine. >>> > >>> > But: >>> > >>> > with a package-cache/ empty, the final image is: 44.452.060 with a >>> changes file of: 10.831.877 >>> > >>> > with a primed package-cache (meaning, letting the mczs in place and >>> starting with a fresh image), the final image is: 29.480.912 with a changes >>> file of: 10.830.899 >>> > >>> > That's quite a huge difference. >>> > >>> > I tried again to be sure (fresh image and empty package-cache, then >>> fresh image only) and, weirdly enough, even if the difference in size was >>> the same, the sizes themselves weren't.the same... >>> > >>> > 44.446.152 - 10.830.899 >>> > 29.986.284 - 10.831.543 >>> > >>> > Maybe that's due to a GC occurring differently between the two. >>> > >>> > But this gives the impression that one cannot load a base image, apply >>> a configuration, and end up with the same image twice. Weird. >>> > >>> > Why is this difference so large in the first place ? >>> > >>> > Phil >>> > >>> > >>> > >>> > >>> >>> >>> >> > > > -- > Mariano > http://marianopeck.wordpress.com >
Re: [Pharo-dev] Large difference in image size when loading configuration
On 11 Nov 2013, at 15:51, p...@highoctane.be wrote: > Image size goes back to: > > 29.068.612 > > Looks like all package contents are cached in the image… But by a factor 3 ?? > Phil > > > > On Mon, Nov 11, 2013 at 1:32 PM, Mariano Martinez Peck > wrote: > Phil, what happens if you evaluate (and save after) to the big image: > > MCFileBasedRepository flushAllCaches. > 3 timesRepeat: [Smalltalk garbageCollect]. > > > On Mon, Nov 11, 2013 at 8:30 AM, p...@highoctane.be > wrote: > [User.Techlab] → du -hs package-cache > 5.3Mpackage-cache > > Phil > > On Mon, Nov 11, 2013 at 11:41 AM, Sven Van Caekenberghe wrote: > What is the total size of the package-cache, like du -hs ? > Could it be the same size of the difference in image size ? > That would mean that the contents of the packages themselves is cached in the > image... > > On 11 Nov 2013, at 10:39, p...@highoctane.be wrote: > > > I am experiencing the following while loading my configuration. > > > > REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main > > ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack --install=0.4 > > > > Everything loads fine. > > > > But: > > > > with a package-cache/ empty, the final image is: 44.452.060 with a changes > > file of: 10.831.877 > > > > with a primed package-cache (meaning, letting the mczs in place and > > starting with a fresh image), the final image is: 29.480.912 with a changes > > file of: 10.830.899 > > > > That's quite a huge difference. > > > > I tried again to be sure (fresh image and empty package-cache, then fresh > > image only) and, weirdly enough, even if the difference in size was the > > same, the sizes themselves weren't.the same... > > > > 44.446.152 - 10.830.899 > > 29.986.284 - 10.831.543 > > > > Maybe that's due to a GC occurring differently between the two. > > > > But this gives the impression that one cannot load a base image, apply a > > configuration, and end up with the same image twice. Weird. > > > > Why is this difference so large in the first place ? > > > > Phil > > > > > > > > > > > > > > > -- > Mariano > http://marianopeck.wordpress.com >
Re: [Pharo-dev] Large difference in image size when loading configuration
Yeah, that's a tad weird. I am quite concerned about that image ballooning effect. I've got a dev image and it is now 185.515.948 I did the flush thing MCFileBasedRepository flushAllCaches. 3 timesRepeat: [Smalltalk garbageCollect]. and now, it is 158.740.484 SpaceTally new printSpaceAnalysis shows: Class code space # instances inst space percent inst average size Array3712 817192 31395576 19.30 38.42 Float 13047 1313593 157631169.70 12.00 ByteString 2785 378125 130788218.00 34.59 MorphExtension 3097 157557 107138766.60 68.00 Bitmap 36531975 101986486.30 5163.87 TextMethodLink419 392396 94175045.80 24.00 Point7105 711444 85373285.30 12.00 CompiledMethod 22467 82802 52158563.20 62.99 SHRange 1919 217316 43463202.70 20.00 Rectangle8795 325385 39046202.40 12.00 TableLayoutProperties1169 49629 35732882.20 72.00 Semaphore 949 149195 29839001.80 20.00 A ton of MorphExtensions (which is a know problem). but also quite some TextMethodLinks, which I do not understand. SHRange, from styling things I guess, lots of remnants. And quite a bunch of Semaphores, too much I think. Tons of Arrays and floats. I do a lot of NeoCSV loads in the image. Phil On Mon, Nov 11, 2013 at 4:03 PM, Sven Van Caekenberghe wrote: > > On 11 Nov 2013, at 15:51, p...@highoctane.be wrote: > > > Image size goes back to: > > > > 29.068.612 > > > > Looks like all package contents are cached in the image… > > But by a factor 3 ?? > > > Phil > > > > > > > > On Mon, Nov 11, 2013 at 1:32 PM, Mariano Martinez Peck < > marianop...@gmail.com> wrote: > > Phil, what happens if you evaluate (and save after) to the big image: > > > > MCFileBasedRepository flushAllCaches. > > 3 timesRepeat: [Smalltalk garbageCollect]. > > > > > > On Mon, Nov 11, 2013 at 8:30 AM, p...@highoctane.be > wrote: > > [User.Techlab] → du -hs package-cache > > 5.3Mpackage-cache > > > > Phil > > > > On Mon, Nov 11, 2013 at 11:41 AM, Sven Van Caekenberghe > wrote: > > What is the total size of the package-cache, like du -hs ? > > Could it be the same size of the difference in image size ? > > That would mean that the contents of the packages themselves is cached > in the image... > > > > On 11 Nov 2013, at 10:39, p...@highoctane.be wrote: > > > > > I am experiencing the following while loading my configuration. > > > > > > REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main > > > ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack > --install=0.4 > > > > > > Everything loads fine. > > > > > > But: > > > > > > with a package-cache/ empty, the final image is: 44.452.060 with a > changes file of: 10.831.877 > > > > > > with a primed package-cache (meaning, letting the mczs in place and > starting with a fresh image), the final image is: 29.480.912 with a changes > file of: 10.830.899 > > > > > > That's quite a huge difference. > > > > > > I tried again to be sure (fresh image and empty package-cache, then > fresh image only) and, weirdly enough, even if the difference in size was > the same, the sizes themselves weren't.the same... > > > > > > 44.446.152 - 10.830.899 > > > 29.986.284 - 10.831.543 > > > > > > Maybe that's due to a GC occurring differently between the two. > > > > > > But this gives the impression that one cannot load a base image, apply > a configuration, and end up with the same image twice. Weird. > > > > > > Why is this difference so large in the first place ? > > > > > > Phil > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Mariano > > http://marianopeck.wordpress.com > > > > >
[Pharo-dev] Unexpected block variable change of value
I'm not sure if I'm missing something, but there seems some strange behavior that I don't understand. The value of a block variable changes when stepping over a method that acts on that variable. I encountered this in Spec, but that seems co-incidental to the behaviour. SETUP 1. The attached "My-Spec-Tutorial-BenComan.1.mcz" (i.e. Bahman's tutorial) was loaded into build #30564. 2. A breakpoint was inserted after the first "e generateArguments" in... SpecRowLayout>>privateAsArray | result shouldCheckSplitters | result := OrderedCollection new. shouldCheckSplitters := false. (self commands reject: [:e | e isSplitter ]) do: [:e | ...lots..hidden.for..conciseness e generateArguments. self haltOnce. "<--" e asSpecElements do: [:el | result add: el ]]. 3. The following was evaluated... Halt enableHaltOnce. MyFirstWindow new openWithSpec: #defaultSpec. OBSERVATION 1. When the debugger opened at the breakpoint e = a SpecLayoutAdd 2. But after stepping over #asSpecElements e = an OrderedCollection() So how did the value of 'e' change? Where... SpecLayoutAdd(SpecLayoutSend)>>asSpecElements ^ {self selector.}, self arguments SpecLayoutAdd(SpecLayoutSend)>>selector ^ selector SpecLayoutAdd(SpecLayoutSend)>>arguments ^ arguments This was on Windows 7. Since files.pharo.org is offline, I wasn't able to try a newer VM. My current was... NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano Jenkins build #14535 Win32 built on Mar 13 2013 18:49:42 Compiler: 4.6.2 VMMaker versionString git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano Jenkins build #14535 NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 cheers -ben My-Spec-Tutorial-BenComan.1.mcz Description: Binary data
Re: [Pharo-dev] Large difference in image size when loading configuration
I then signalled the semaphores (Alt-S in the process browser and the processes went away). Size of SHRange is now: SHRange allInstances size. 217381 (After a couple GCs). Are these things created when one views methods in the browser ? Phil On Mon, Nov 11, 2013 at 6:09 PM, p...@highoctane.be wrote: > I had a look at the process browser and found this strange set of > processes with semaphores and style in background. > How comes? > There is no browser open even. > > See screenshot attached. > > Phil > > > > On Mon, Nov 11, 2013 at 5:10 PM, p...@highoctane.be wrote: > >> Yeah, that's a tad weird. >> >> I am quite concerned about that image ballooning effect. >> >> I've got a dev image and it is now 185.515.948 >> >> I did the flush thing >> >> MCFileBasedRepository flushAllCaches. >> 3 timesRepeat: [Smalltalk garbageCollect]. >> >> and now, it is 158.740.484 >> >> SpaceTally new printSpaceAnalysis >> >> shows: >> >> Class code space # instances >> inst space percent inst average size >> Array3712 817192 >>31395576 19.30 38.42 >> Float 13047 1313593 >> 157631169.70 12.00 >> ByteString 2785 378125 >> 130788218.00 34.59 >> MorphExtension 3097 157557 >> 107138766.60 68.00 >> Bitmap 36531975 >> 101986486.30 5163.87 >> TextMethodLink419 392396 >> 94175045.80 24.00 >> Point7105 711444 >> 85373285.30 12.00 >> CompiledMethod 22467 82802 >> 52158563.20 62.99 >> SHRange 1919 217316 >> 43463202.70 20.00 >> Rectangle8795 325385 >> 39046202.40 12.00 >> TableLayoutProperties1169 49629 >> 35732882.20 72.00 >> Semaphore 949 149195 >> 29839001.80 20.00 >> >> A ton of MorphExtensions (which is a know problem). >> >> but also quite some TextMethodLinks, which I do not understand. >> SHRange, from styling things I guess, lots of remnants. >> >> And quite a bunch of Semaphores, too much I think. >> >> Tons of Arrays and floats. I do a lot of NeoCSV loads in the image. >> >> >> Phil >> >> >> >> >> >> >> On Mon, Nov 11, 2013 at 4:03 PM, Sven Van Caekenberghe wrote: >> >>> >>> On 11 Nov 2013, at 15:51, p...@highoctane.be wrote: >>> >>> > Image size goes back to: >>> > >>> > 29.068.612 >>> > >>> > Looks like all package contents are cached in the image… >>> >>> But by a factor 3 ?? >>> >>> > Phil >>> > >>> > >>> > >>> > On Mon, Nov 11, 2013 at 1:32 PM, Mariano Martinez Peck < >>> marianop...@gmail.com> wrote: >>> > Phil, what happens if you evaluate (and save after) to the big image: >>> > >>> > MCFileBasedRepository flushAllCaches. >>> > 3 timesRepeat: [Smalltalk garbageCollect]. >>> > >>> > >>> > On Mon, Nov 11, 2013 at 8:30 AM, p...@highoctane.be < >>> p...@highoctane.be> wrote: >>> > [User.Techlab] → du -hs package-cache >>> > 5.3Mpackage-cache >>> > >>> > Phil >>> > >>> > On Mon, Nov 11, 2013 at 11:41 AM, Sven Van Caekenberghe >>> wrote: >>> > What is the total size of the package-cache, like du -hs ? >>> > Could it be the same size of the difference in image size ? >>> > That would mean that the contents of the packages themselves is cached >>> in the image... >>> > >>> > On 11 Nov 2013, at 10:39, p...@highoctane.be wrote: >>> > >>> > > I am experiencing the following while loading my configuration. >>> > > >>> > > REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main >>> > > ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack >>> --install=0.4 >>> > > >>> > > Everything loads fine. >>> > > >>> > > But: >>> > > >>> > > with a package-cache/ empty, the final image is: 44.452.060 with a >>> changes file of: 10.831.877 >>> > > >>> > > with a primed package-cache (meaning, letting the mczs in place and >>> starting with a fresh image), the final image is: 29.480.912 with a changes >>> file of: 10.830.899 >>> > > >>> > > That's quite a huge difference. >>> > > >>> > > I tried again to be sure (fresh image and empty package-cache, then >>> fresh image only) and, weirdly enough, even if the difference in size was >>> the same, the sizes themselves weren't.the same... >>> > > >>> > > 44.446.152 - 10.830.899 >>> > > 29.986.284 - 10.831.543 >>> > > >>> > > Maybe that's due to a GC occurring differently between the two.
Re: [Pharo-dev] Unexpected block variable change of value
Not sure if it’s related to your issue but I’ve been seeing swapped temporary variables in the debugger. The value used for execution is correct but in the view two variables will have the value of the other. Are you sure that the value *effectively* changes or could it be a visualization problem? Max On 11.11.2013, at 17:29, b...@openinworld.com wrote: > I'm not sure if I'm missing something, but there seems some strange behavior > that I don't understand. The value of a block variable changes when stepping > over a method that acts on that variable. I encountered this in Spec, but > that seems co-incidental to the behaviour. > SETUP > 1. The attached "My-Spec-Tutorial-BenComan.1.mcz" (i.e. Bahman's tutorial) > was loaded into build #30564. > > 2. A breakpoint was inserted after the first "e generateArguments" in... > SpecRowLayout>>privateAsArray > | result shouldCheckSplitters | > result := OrderedCollection new. > shouldCheckSplitters := false. (self commands reject: [:e | e > isSplitter ]) do: [:e | > ...lots..hidden.for..conciseness > e generateArguments. > self haltOnce. "<--" > e asSpecElements do: [:el | > result add: el ]]. > > 3. The following was evaluated... > Halt enableHaltOnce. > MyFirstWindow new openWithSpec: #defaultSpec. > > > OBSERVATION > 1. When the debugger opened at the breakpoint > e = a SpecLayoutAdd > > 2. But after stepping over #asSpecElements > e = an OrderedCollection() > > So how did the value of 'e' change? > > Where... > SpecLayoutAdd(SpecLayoutSend)>>asSpecElements > ^ {self selector.}, self arguments > > SpecLayoutAdd(SpecLayoutSend)>>selector > ^ selector > > SpecLayoutAdd(SpecLayoutSend)>>arguments > ^ arguments > > > This was on Windows 7. Since files.pharo.org is offline, I wasn't able to > try a newer VM. My current was... > > NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: > a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 > NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: > a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 > git://gitorious.org/cogvm/blessed.git Commit: > 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: > Esteban Lorenzano Jenkins build #14535 > > Win32 built on Mar 13 2013 18:49:42 Compiler: 4.6.2 > VMMaker versionString git://gitorious.org/cogvm/blessed.git Commit: > 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: > Esteban Lorenzano Jenkins build #14535 > NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: > a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 > NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: > a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 > > cheers -ben > >
Re: [Pharo-dev] Large difference in image size when loading configuration
I think so, for each method view there is an SHTextStyler / SHTextStylerST80 which computes the colors for styling in a background process. At least that part of your problem is coherent. Though I still have no idea why the styler would fail and hang the process, so far I never experienced that. I suspect some "strange" mehtod / source code must trigger some bugs in the styler? On 2013-11-11, at 18:15, p...@highoctane.be wrote: > I then signalled the semaphores (Alt-S in the process browser and the > processes went away). > > Size of SHRange is now: SHRange allInstances size. 217381 (After a couple > GCs). > > Are these things created when one views methods in the browser ? > > Phil > > > > On Mon, Nov 11, 2013 at 6:09 PM, p...@highoctane.be > wrote: > I had a look at the process browser and found this strange set of processes > with semaphores and style in background. > How comes? > There is no browser open even. > > See screenshot attached. > > Phil > > > > On Mon, Nov 11, 2013 at 5:10 PM, p...@highoctane.be > wrote: > Yeah, that's a tad weird. > > I am quite concerned about that image ballooning effect. > > I've got a dev image and it is now 185.515.948 > > I did the flush thing > > MCFileBasedRepository flushAllCaches. > 3 timesRepeat: [Smalltalk garbageCollect]. > > and now, it is 158.740.484 > > SpaceTally new printSpaceAnalysis > > shows: > > Class code space # instances inst > space percent inst average size > Array3712 817192 > 31395576 19.30 38.42 > Float 13047 1313593 > 157631169.70 12.00 > ByteString 2785 378125 > 130788218.00 34.59 > MorphExtension 3097 157557 > 107138766.60 68.00 > Bitmap 36531975 > 101986486.30 5163.87 > TextMethodLink419 392396 > 94175045.80 24.00 > Point7105 711444 > 85373285.30 12.00 > CompiledMethod 22467 82802 > 52158563.20 62.99 > SHRange 1919 217316 > 43463202.70 20.00 > Rectangle8795 325385 > 39046202.40 12.00 > TableLayoutProperties1169 49629 > 35732882.20 72.00 > Semaphore 949 149195 > 29839001.80 20.00 > > A ton of MorphExtensions (which is a know problem). > > but also quite some TextMethodLinks, which I do not understand. > SHRange, from styling things I guess, lots of remnants. > > And quite a bunch of Semaphores, too much I think. > > Tons of Arrays and floats. I do a lot of NeoCSV loads in the image. > > > Phil > > > > > > > On Mon, Nov 11, 2013 at 4:03 PM, Sven Van Caekenberghe wrote: > > On 11 Nov 2013, at 15:51, p...@highoctane.be wrote: > > > Image size goes back to: > > > > 29.068.612 > > > > Looks like all package contents are cached in the image… > > But by a factor 3 ?? > > > Phil > > > > > > > > On Mon, Nov 11, 2013 at 1:32 PM, Mariano Martinez Peck > > wrote: > > Phil, what happens if you evaluate (and save after) to the big image: > > > > MCFileBasedRepository flushAllCaches. > > 3 timesRepeat: [Smalltalk garbageCollect]. > > > > > > On Mon, Nov 11, 2013 at 8:30 AM, p...@highoctane.be > > wrote: > > [User.Techlab] → du -hs package-cache > > 5.3Mpackage-cache > > > > Phil > > > > On Mon, Nov 11, 2013 at 11:41 AM, Sven Van Caekenberghe > > wrote: > > What is the total size of the package-cache, like du -hs ? > > Could it be the same size of the difference in image size ? > > That would mean that the contents of the packages themselves is cached in > > the image... > > > > On 11 Nov 2013, at 10:39, p...@highoctane.be wrote: > > > > > I am experiencing the following while loading my configuration. > > > > > > REPO=http://www.smalltalkhub.com/mc/philippeback/HOWebStack/main > > > ./pharo Pharo.image config $REPO ConfigurationOfHOWebStack --install=0.4 > > > > > > Everything loads fine. > > > > > > But: > > > > > > with a package-cache/ empty, the final image is: 44.452.060 with a > > > changes file of: 10.831.877 > > > > > > with a primed package-cache (meaning, letting the mczs in place and > > > starting with a fresh image), the final image is: 29.480.912 with a > > > changes file of: 10.830.899 > > > > > > That's quite a huge difference. >
[Pharo-dev] How to test UI staff?
Hi! I am trying to fix bug 12138 (https://pharo.fogbugz.com/f/cases/12138/Finding-a-class-is-kind-of-broken) And I would like to write test like that: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- testSearchSelectAndOK |classes | waitSemaphore := Semaphore new. classes := { Object . BlockClosure. Class }. listDialogWindow := SearchFacade classSearchIn: classes. "listDialogWindow open." listDialogWindow addDependent: self. listDialogWindow searchUpdate: 'BlockClosure'. waitSemaphore wait. listDialogWindow listIndex: 1. waitSemaphore wait. listDialogWindow ok. self assert: listDialogWindow answer notNil. self assert: (listDialogWindow answer = BlockClosure). handleUpdate: aMorphChanged waitSemaphore signal. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- If I run the test from debugger — context menu on test method and select debug tests — and then I do proceed, it works. If I press the green button in Nautilus which run the test, it is frozen and I have to kill it by Cmd+. The same happens if the test it run from Test Runner. It waits for testSemaphoreForMethod semaphore in method PackageTreeNautilusUI(NautilusUI)>>runTestForAMethod:notifying:priority: Apparently there are problems with process priorities. But I do not know what to change. Thank you for any help, Jura smime.p7s Description: S/MIME cryptographic signature
[Pharo-dev] About MenuItemModel
Hi ben do I get it correctly that we pass a block to a block for action action: aBlock action value: aBlock are you sure that you want a block as argument of a block. I would prefer that action is simply a block. Stef
Re: [Pharo-dev] About MenuItemModel
#action is most probably a ValueHolder, no? On 2013-11-11, at 19:12, Stéphane Ducasse wrote: > Hi ben > > do I get it correctly that we pass a block to a block for action > > action: aBlock > > action value: aBlock > > are you sure that you want a block as argument of a block. > > I would prefer that action is simply a block. > > Stef > signature.asc Description: Message signed with OpenPGP using GPGMail
[Pharo-dev] about addMenuGroup:
Hi ben addMenuGroup: is categorized in private but the examples uses it so I imagine that the category should be changed. Can you confirm it? Stef
[Pharo-dev] to integrate :-)
hi! Here are some resutls of the Pharo sprint: https://pharo.fogbugz.com/f/cases/12139/Navigating-in-menus https://pharo.fogbugz.com/f/cases/12137/Temporary-variables-are-not-added-properly Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] About MenuModel
Hi Ben We do not understand MenuModel in the example we have menu := MenuModel new. … group1 := MenuGroupModel new. item11 := MenuItemModel new name: [ TimeStamp now asString ]; enabled: [ TimeStamp now seconds even ]; yourself. ... model := NewListModel new. model menu: menu then on the NewListModel NewListModel >> menu: aBlock "Set the block used to defined the menu" menuHolder value: aBlock so it is a block? or a MenuModel? I'm totally confused. Stef
Re: [Pharo-dev] How to test UI staff?
On 2013-11-11, at 18:41, Juraj Kubelka wrote: > Hi! > > I am trying to fix bug 12138 > (https://pharo.fogbugz.com/f/cases/12138/Finding-a-class-is-kind-of-broken) > > And I would like to write test like that: > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > testSearchSelectAndOK > |classes | > waitSemaphore := Semaphore new. > classes := { Object . BlockClosure. Class }. > listDialogWindow := SearchFacade classSearchIn: classes. > "listDialogWindow open." > listDialogWindow addDependent: self. > listDialogWindow searchUpdate: 'BlockClosure'. > waitSemaphore wait. > listDialogWindow listIndex: 1. > waitSemaphore wait. > listDialogWindow ok. > self assert: listDialogWindow answer notNil. > self assert: (listDialogWindow answer = BlockClosure). > > handleUpdate: aMorphChanged > waitSemaphore signal. > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > > If I run the test from debugger — context menu on test method and select > debug tests — and then I do proceed, it works. If I press the green button in > Nautilus which run the test, it is frozen and I have to kill it by Cmd+. The > same happens if the test it run from Test Runner. > > It waits for testSemaphoreForMethod semaphore in method > PackageTreeNautilusUI(NautilusUI)>>runTestForAMethod:notifying:priority: Hi, Note that the Debugger uses a separate UI Thread to avoid side-effects. However if you run the test directly from nautilus this is not the case. Instead the tests are directly run in the UIThread. If you do `waitSemaphore wait` you will instantaneously block the UI thread, which in return means that #handleUpdate: will never be called (since the UI thread execution halted). I just propose an outline for a solution (not well thought through.. :P): Somehow you have to run the test in a separate thread ([...] fork) to make sure `waitSemaphore wait` does not block the UI Thread. At the same time you do not want to wait forever, so #valueWithin:onTimeout: is your friend :) smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-dev] about addMenuGroup:
I do confirm :) Ben On 11 Nov 2013, at 19:30, Stéphane Ducasse wrote: > Hi ben > > addMenuGroup: is categorized in private but the examples uses it so I imagine > that the category should be changed. > Can you confirm it? > > Stef
Re: [Pharo-dev] about addMenuGroup:
In fact, I remember why I put it there :) There is a method for creating groups with block, and I think it should be prefered Ben On 11 Nov 2013, at 19:30, Stéphane Ducasse wrote: > Hi ben > > addMenuGroup: is categorized in private but the examples uses it so I imagine > that the category should be changed. > Can you confirm it? > > Stef
[Pharo-dev] How to get menu popping up
We are trying to fix the ChangeSorter because the menu are broken. So we did ChangeSorterApplication>>changeSetMenu1: aMenu shifted: isShifted "Set up aMenu to hold commands for the change-set-list pane. This could be for a single or double changeSorter" aMenu title: 'Change Set'. self changeSetMenu1NewGeneration: aMenu. ChangeSorterApplication>>changeSetMenu1NewGeneration: aMenuModel | group1 menuItem | menuItem := MenuItemModel new name: [ TimeStamp now asString ]; enabled: [ TimeStamp now seconds even ]; yourself. group1 := MenuGroupModel new. group1 autoRefresh: true. aMenuModel addMenuGroup: group1. self classesListModel menu: aMenuModel. but the menu does not pop up. We tried to understand NewListModel but we could not understand how the new menu supposed to work The example exampleWithMenu "self exampleWithMenu" …. model := NewListModel new. model menu: menu. model openWithSpec but this is not how it works with a list. So how do we use the new menu? Stef
Re: [Pharo-dev] How to test UI staff?
Thanks for the explanation! Cheers, Jura El 11-11-2013, a las 16:04, Camillo Bruni escribió: > On 2013-11-11, at 18:41, Juraj Kubelka wrote: >> Hi! >> >> I am trying to fix bug 12138 >> (https://pharo.fogbugz.com/f/cases/12138/Finding-a-class-is-kind-of-broken) >> >> And I would like to write test like that: >> >> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >> testSearchSelectAndOK >> |classes | >> waitSemaphore := Semaphore new. >> classes := { Object . BlockClosure. Class }. >> listDialogWindow := SearchFacade classSearchIn: classes. >> "listDialogWindow open." >> listDialogWindow addDependent: self. >> listDialogWindow searchUpdate: 'BlockClosure'. >> waitSemaphore wait. >> listDialogWindow listIndex: 1. >> waitSemaphore wait. >> listDialogWindow ok. >> self assert: listDialogWindow answer notNil. >> self assert: (listDialogWindow answer = BlockClosure). >> >> handleUpdate: aMorphChanged >> waitSemaphore signal. >> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >> >> If I run the test from debugger — context menu on test method and select >> debug tests — and then I do proceed, it works. If I press the green button >> in Nautilus which run the test, it is frozen and I have to kill it by Cmd+. >> The same happens if the test it run from Test Runner. >> >> It waits for testSemaphoreForMethod semaphore in method >> PackageTreeNautilusUI(NautilusUI)>>runTestForAMethod:notifying:priority: > > Hi, > > Note that the Debugger uses a separate UI Thread to avoid side-effects. > However if you run the test directly from nautilus this is not the case. > Instead the tests are directly run in the UIThread. > > If you do `waitSemaphore wait` you will instantaneously block the UI thread, > which in return means that #handleUpdate: will never be called (since the > UI thread execution halted). > > I just propose an outline for a solution (not well thought through.. :P): > Somehow you have to run the test in a separate thread ([...] fork) to make > sure `waitSemaphore wait` does not block the UI Thread. At the same time > you do not want to wait forever, so #valueWithin:onTimeout: is your friend :) smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-dev] About MenuModel
It used to be a block. Now you can actually use both of them, with a subtile difference which is that the result of the block will not act one the model unlike a MenuModel which will add its shortcuts to the model by its own. I will write a presentation mail this evening to explain this a bit better :) Ben On 11 Nov 2013, at 20:13, Stéphane Ducasse wrote: > Hi Ben > > We do not understand MenuModel > in the example we have > > > menu := MenuModel new. > … > group1 := MenuGroupModel new. > item11 := MenuItemModel new > name: [ TimeStamp now asString ]; > enabled: [ TimeStamp now seconds even ]; > yourself. > > ... > model := NewListModel new. > model menu: menu > > > then on the NewListModel > > NewListModel >> menu: aBlock > > "Set the block used to defined the menu" > > menuHolder value: aBlock > > so it is a block? or a MenuModel? > > I'm totally confused. > > Stef
Re: [Pharo-dev] to integrate :-)
nice :) BTW, if anybody is interested, you can run the CI validation locally ;) http://smalltalkhub.com/#!/~Pharo/ci On 2013-11-11, at 20:04, Alexandre Bergel wrote: > hi! > > Here are some resutls of the Pharo sprint: > > https://pharo.fogbugz.com/f/cases/12139/Navigating-in-menus > https://pharo.fogbugz.com/f/cases/12137/Temporary-variables-are-not-added-properly > > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. signature.asc Description: Message signed with OpenPGP using GPGMail
Re: [Pharo-dev] to integrate :-)
One more: https://pharo.fogbugz.com/f/cases/12143/Right-clicking-in-the-debugger-text-pane-raise-en-error Alexandre On Nov 11, 2013, at 4:04 PM, Alexandre Bergel wrote: > hi! > > Here are some resutls of the Pharo sprint: > > https://pharo.fogbugz.com/f/cases/12139/Navigating-in-menus > https://pharo.fogbugz.com/f/cases/12137/Temporary-variables-are-not-added-properly > > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] How to get menu popping up
What is classesListModel ? Ben On 11 Nov 2013, at 20:17, Stéphane Ducasse wrote: > We are trying to fix the ChangeSorter because the menu are broken. > So we did > > ChangeSorterApplication>>changeSetMenu1: aMenu shifted: isShifted > "Set up aMenu to hold commands for the change-set-list pane. This > could be for a single or double changeSorter" > > aMenu title: 'Change Set'. > self changeSetMenu1NewGeneration: aMenu. > > ChangeSorterApplication>>changeSetMenu1NewGeneration: aMenuModel > > | group1 menuItem | > menuItem := MenuItemModel new > name: [ TimeStamp now asString ]; > enabled: [ TimeStamp now seconds even ]; > yourself. > > group1 := MenuGroupModel new. > group1 autoRefresh: true. > > aMenuModel > addMenuGroup: group1. > self classesListModel menu: aMenuModel. > > > but the menu does not pop up. > > We tried to understand NewListModel but we could not understand how the new > menu supposed to work > The example > > exampleWithMenu > "self exampleWithMenu" > …. > model := NewListModel new. > model menu: menu. > model openWithSpec > > but this is not how it works with a list. > So how do we use the new menu? > > > Stef
Re: [Pharo-dev] Unexpected block variable change of value
There is a bug left in double nested blocks in the debugger (some variables then shows incorrect value). Retry with the old compiler (world menu>settings>compiler>Compiler) and see if this is fixed. 2013/11/11 Max Leske > Not sure if it’s related to your issue but I’ve been seeing swapped > temporary variables in the debugger. The value used for execution is > correct but in the view two variables will have the value of the other. > Are you sure that the value *effectively* changes or could it be a > visualization problem? > > Max > > On 11.11.2013, at 17:29, b...@openinworld.com wrote: > > > I'm not sure if I'm missing something, but there seems some strange > behavior that I don't understand. The value of a block variable changes > when stepping over a method that acts on that variable. I encountered this > in Spec, but that seems co-incidental to the behaviour. > > SETUP > > 1. The attached "My-Spec-Tutorial-BenComan.1.mcz" (i.e. Bahman's > tutorial) was loaded into build #30564. > > > > 2. A breakpoint was inserted after the first "e generateArguments" in... > > SpecRowLayout>>privateAsArray > > | result shouldCheckSplitters | > > result := OrderedCollection new. > > shouldCheckSplitters := false. (self commands reject: [:e | e > isSplitter ]) do: [:e | > > ...lots..hidden.for..conciseness > > e generateArguments. > > self haltOnce. "<--" > > e asSpecElements do: [:el | > > result add: el ]]. > > > > 3. The following was evaluated... > > Halt enableHaltOnce. > > MyFirstWindow new openWithSpec: #defaultSpec. > > > > > > OBSERVATION > > 1. When the debugger opened at the breakpoint > > e = a SpecLayoutAdd > > > > 2. But after stepping over #asSpecElements > > e = an OrderedCollection() > > > > So how did the value of 'e' change? > > > > Where... > > SpecLayoutAdd(SpecLayoutSend)>>asSpecElements > > ^ {self selector.}, self arguments > > > > SpecLayoutAdd(SpecLayoutSend)>>selector > > ^ selector > > > > SpecLayoutAdd(SpecLayoutSend)>>arguments > > ^ arguments > > > > > > This was on Windows 7. Since files.pharo.org is offline, I wasn't able > to try a newer VM. My current was... > > > > NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: > a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 > > NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: > a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 > > git://gitorious.org/cogvm/blessed.git Commit: > 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 > By: Esteban Lorenzano Jenkins build #14535 > > > > Win32 built on Mar 13 2013 18:49:42 Compiler: 4.6.2 > > VMMaker versionString git://gitorious.org/cogvm/blessed.git Commit: > 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 > By: Esteban Lorenzano Jenkins build #14535 > > NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: > a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 > > NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: > a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 > > > > cheers -ben > > > > > > >
Re: [Pharo-dev] About MenuItemModel
Indeed :) Ben On 11 Nov 2013, at 19:17, Camillo Bruni wrote: > #action is most probably a ValueHolder, no? > > On 2013-11-11, at 19:12, Stéphane Ducasse wrote: > >> Hi ben >> >> do I get it correctly that we pass a block to a block for action >> >> action: aBlock >> >> action value: aBlock >> >> are you sure that you want a block as argument of a block. >> >> I would prefer that action is simply a block. >> >> Stef >> >
[Pharo-dev] about Announcer unsubscribe:
HI guys with ronie we were looking at how we can remove update: methods ( fun story) and we found update: aSymbol "Update the image if changed." super update: aSymbol. aSymbol = self getImageSelector ifTrue: [ self updateImage] and here we see that a static self announcer when: #jkhjkh send: #updateImage to: self does not work so we thought that we can change getImageSelector: anObject getImageSelector := anObject into getImageSelector: anObject getImageSelector := anObject. self announcer when: anObject send: #updateImage to: self but this is not nice because we should clean before. Now the problem (and I would like to get your point of viee) is that announcer only define unregister: anObject and the granularity is too large because we do not want to lose all the other resgitrations we did. Tx for your anwsers Stef
[Pharo-dev] TextModel
Hi Ben, We have doubt about the getSelection of TextModel. Execute the following in a Workspace: model := TextModel new. model openWithSpec. In the window, insert some text, and select something. Evaluate the following: model getSelection It always returns (1 to: 0) for us. Do you confirm? https://pharo.fogbugz.com/f/cases/12144/TextModel-getSelection Cheers, Johan Fabry & Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Questions about Athens
Ignore my last messages. Apparently I had an error with my code I just did not understand the error report. Everything works fone now. Στις 11 Νοε 2013 4:46 μ.μ., ο χρήστης "kilon alios" έγραψε: > sorry previous stack was for slightly diffirent code this is the correct > one > > UndefinedObject(Object)>>doesNotUnderstand: #drawDuring: > Hyperion>>render > Hyperion>>drawOn: > FormCanvas(Canvas)>>draw: > FormCanvas(Canvas)>>drawMorph: > Hyperion(Morph)>>fullDrawOn: in Block: [ ... > FormCanvas>>roundCornersOf:in:during: > FormCanvas(Canvas)>>roundCornersOf:during: > Hyperion(Morph)>>fullDrawOn: in Block: [ ... > BlockClosure>>on:do: > Hyperion(Morph)>>fullDrawOn: > FormCanvas(Canvas)>>fullDraw: > FormCanvas(Canvas)>>fullDrawMorph: > SystemWindow(Morph)>>drawSubmorphsOn: in Block: [ :m | canvas > fullDrawMorph: m ] > Array(SequenceableCollection)>>reverseDo: > SystemWindow(Morph)>>drawSubmorphsOn: in Block: [ :canvas | submorphs > reverseDo: [ :m | canvas ful...etc... > FormCanvas>>clipBy:during: > SystemWindow(Morph)>>drawSubmorphsOn: > SystemWindow(Morph)>>fullDrawOn: in Block: [ ... > FormCanvas>>roundCornersOf:in:during: > FormCanvas(Canvas)>>roundCornersOf:during: > SystemWindow(Morph)>>fullDrawOn: in Block: [ ... > BlockClosure>>on:do: > SystemWindow(Morph)>>fullDrawOn: > FormCanvas(Canvas)>>fullDraw: > FormCanvas(Canvas)>>fullDrawMorph: > WorldState>>drawWorld:submorphs:invalidAreasOn: in Block: drawWorld: > aWorld submorphs: submorphs invalidArea...etc... > Rectangle>>allAreasOutsideList:startingAt:do: > Rectangle>>allAreasOutsideList:do: > WorldState>>drawWorld:submorphs:invalidAreasOn: in Block: [ :dirtyRect | > ... > > > > On Mon, Nov 11, 2013 at 4:43 PM, kilon alios wrote: > >> Igor I am trying your session code but it does not work for me. I still >> get the red box of doom. This is the method >> >> checkSession >> >> session == Smalltalk session ifFalse: [ >> surface := surface := AthensCairoSurface extent: self extent. . >> session := Smalltalk session. >> ] >> >> and This is my full stack >> >> NBFFICallout class>>signalError: >> NBFFICallout class(NBNativeCodeGen class)>>handleFailureIn:nativeCode: >> NBFFICalloutAPI>>function:module: >> AthensCairoSurface class(Object)>>nbCall: >> AthensCairoSurface class>>primImage:width:height: >> NBFFICallout class(NBNativeCodeGen class)>>retrySend: >> AthensCairoSurface class>>extent:format: >> AthensCairoSurface class>>extent: >> Hyperion>>mouseDown: >> Hyperion(Morph)>>handleMouseDown: >> MouseButtonEvent>>sentTo: >> Hyperion(Morph)>>handleEvent: >> MorphicEventDispatcher>>dispatchMouseDown:with: >> MorphicEventDispatcher>>dispatchEvent:with: >> Hyperion(Morph)>>processEvent:using: >> MorphicEventDispatcher>>dispatchMouseDown:with: >> MorphicEventDispatcher>>dispatchEvent:with: >> SystemWindow(Morph)>>processEvent:using: >> SystemWindow(Morph)>>processEvent: >> SystemWindow>>mouseDown: in Block: [ ... >> BlockClosure>>ensure: >> SystemWindow>>mouseDown: >> SystemWindow(Morph)>>handleMouseDown: >> MouseButtonEvent>>sentTo: >> SystemWindow(Morph)>>handleEvent: >> MorphicEventDispatcher>>dispatchMouseDown:with: >> MorphicEventDispatcher>>dispatchEvent:with: >> SystemWindow(Morph)>>processEvent:using: >> MorphicEventDispatcher>>dispatchMouseDown:with: >> MorphicEventDispatcher>>dispatchEvent:with: >> >> >> >> On Sat, Nov 2, 2013 at 12:01 PM, kilon alios wrote: >> >>> and here is the strange MNU that I was talking about earlier >>> >>> here is the full stack >>> >>> Hyperion(Object)>>doesNotUnderstand: #passenger >>> PackageTreeModel>>acceptDroppingMorph:event:inMorph: >>> MorphTreeMorph>>acceptDroppingMorph:event: >>> MorphTreeMorph(Morph)>>handleDropMorph: >>> DropEvent>>sentTo: >>> MorphTreeMorph(Morph)>>handleEvent: >>> MorphicEventDispatcher>>dispatchDropEvent:with: >>> MorphicEventDispatcher>>dispatchEvent:with: >>> MorphTreeMorph(Morph)>>processEvent:using: >>> MorphicEventDispatcher>>dispatchDropEvent:with: >>> MorphicEventDispatcher>>dispatchEvent:with: >>> PanelMorph(Morph)>>processEvent:using: >>> MorphicEventDispatcher>>dispatchDropEvent:with: >>> MorphicEventDispatcher>>dispatchEvent:with: >>> NautilusWindow(Morph)>>processEvent:using: >>> MorphicEventDispatcher>>dispatchDropEvent:with: >>> MorphicEventDispatcher>>dispatchEvent:with: >>> WorldMorph(Morph)>>processEvent:using: >>> WorldMorph(Morph)>>processEvent: >>> HandMorph>>sendEvent:focus:clear: >>> HandMorph>>sendEvent:focus: >>> HandMorph>>dropMorph:event: >>> HandMorph>>dropMorphs: in Block: [ :m | ... >>> Array(SequenceableCollection)>>reverseDo: >>> HandMorph(Morph)>>submorphsReverseDo: >>> HandMorph>>dropMorphs: >>> HandMorph>>handleEvent: >>> HandMorph>>processEvents >>> WorldState>>doOneCycleNowFor: in Block: [ :h | ... >>> Array(SequenceableCollection)>>do: >>> >>> >>> This one happens when I bring up the halos and try to move the morph >>> around.Morphs gets deleted because of MNU. Note it does not happen with >>> just my Class (Hyperion) it happens with any morph using Athen
[Pharo-dev] help needed with fixing the SpecDebugger
Hi, I need a bit of help with the issue of the SpecDebugger relying on the default inspector being implemented in Spec. I investigated a bit, but now I am stuck. Details here: https://pharo.fogbugz.com/f/cases/12055/ Can anyone look at it? Cheers, Doru -- www.tudorgirba.com "Every thing has its own flow"
Re: [Pharo-dev] TextModel
Oh... I have noticed if we do this: PluggableTextMorph>>selectionInterval: sel Transcript show: 'selectionInterval: ', sel printString;cr. selectionInterval := sel Is it not enough to send an announcement? Alexandre On Nov 11, 2013, at 5:41 PM, Benjamin wrote: > It is actually an issue. > > The problem comes from the fact the morph does not notify its model when its > selection changed. > > > Ben > > On 11 Nov 2013, at 21:18, Alexandre Bergel wrote: > >> Hi Ben, >> >> We have doubt about the getSelection of TextModel. >> >> Execute the following in a Workspace: >> >> model := TextModel new. >> model openWithSpec. >> >> In the window, insert some text, and select something. Evaluate the >> following: >> model getSelection >> >> It always returns (1 to: 0) for us. >> >> Do you confirm? >> https://pharo.fogbugz.com/f/cases/12144/TextModel-getSelection >> >> Cheers, >> Johan Fabry & Alexandre >> -- >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> Alexandre Bergel http://www.bergel.eu >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >> >> > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Spec new release :)
Hello everyone, I am glad to announce a step has been made in Spec with the introduction of five new models: TreeNodeModel, TreeColumnModel, MenuModel, MenuGroupModel and MenuItemModel. I. Trees The two first models (TreeNodeModel, TreeColumnModel) are used to build and specify trees (in addition with TreeModel). a) TreeNodeModel TreeNode represent a node of the tree, and hold some basic information like what the children of the node are, or which icon to use. Previously, one could use directly subclasses of MorphTreeNodeModel directly. This has been removed to loose the bonds between Spec and Morphic. If you used direct Morphic nodes in your tree, you will need to replace them by TreeNodeModel instances. You could also have used TreeModel methods used to generically describe your nodes. In this case, the only change you will need is how you access the content of a node. The MorphTreeNodeModel method used for this is #item while in TreeNodeModel it is #content. TreeNodeModel also support filtering out of the box with an extensible mechanism. b) TreeColumnModel TreeColumnModel is used to specify the columns used to render the tree nodes. Where one used to use TreeColumnMorph, now TreeColumnModel have to be use. The mainly behave the same, only the API differs to provide a less morphic oriented set of methods. TreeColumnModel also resolve some some updating issue encountered in TreeColumnMorph. II. Menus The three remaining models are used to build menus for the spec models. The way to build menus has been rethink to provide a more natural way to think menus. a) MenuModel A MenuModel is a quite a simple object with only an optional name, an optional icon and a list of menu groups. A MenuModel can also be turned into an auto-refreshing menu. The main method of MenuModel is #addGroup: which takes a block as argument and build a group before adding it to the menu model groups list. Example: aMenu addGroup: [ :aGroup | aGroup addItem: [ :anItem | anItem name: 'Browse Full'; action: [ self browseSelectedObject ]; shortcut: $b command mac | $b alt win | $b alt unix ]. aGroup addItem: [ :anItem | anItem name: 'Browse Class'; action: [ self browseSelectedObjectClass ] ] ]. b) MenuGroupModel A MenuGroupModel represent a set of menu items which belong to a same logical set by providing related actions. A menu group only hold a list of menu items. The main method of MenuGroupModel is #addItem: , as you have seen in the previous example. Example: aGroup addItem: [ :anItem | anItem name: 'Browse Hierarchy'; action: [ self browseSelectedObjectClassHierarchy ]; shortcut: $h command mac | $h alt win | $h alt unix ] c) MenuItemModel A menu item is the core of a menu. It is the object that can actually perform an action. A MenuItemModel holds multiple information related to this action like the name of the menu entry, the optional icon you want to use, if the action is doable in the current context, and the optional shortcut triggering the action. An interesting feature is that by applying a menu to a spec model, the shortcuts of its items will be used to automatically bind the corresponding key combination to the menu item action (taking in account the context to prevent to fire action when it does not make sense). So far, this feature has been introduced only in NewListModel to fix the possible issues before a global deployment. Thanks for reading this long email, thanks for your support and your feedback, and see you soon :) Ben
[Pharo-dev] Remove Class Category
Hello, I am wanting to write a method which uninstalls all of the Classes which I have created. I have one which looks like this: uninstall AllClasses reverse do: [ :c | Smalltalk removeClassNamed: c ] However the class category which was created to install them into still remains. I am having a hard time discovering what method I use to remove the category these classes were in. There are a lot of methods with category in the name. And is quite confusing how category and protocol are sometimes used interchangeably. I can't tell whether or not they are talking about removing the method's protocol categorization or the classes' category categorization. Its not until you go read the source that you might learn which you are looking at. Any help pointing to the method I am looking for is greatly appreciated. Jimmie
Re: [Pharo-dev] Pharo 2.0 and Monticello settings: looks like there is no way to change
philippeback wrote > How comes? It looks like it may have been broken with the switch to FileSystem. It expects FileDirectory types... - Cheers, Sean -- View this message in context: http://forum.world.st/Pharo-2-0-and-Monticello-settings-looks-like-there-is-no-way-to-change-tp4721125p4721159.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] Pharo 2.0 and Monticello settings: looks like there is no way to change
please enter a bug entry (and fixes) Stef On Nov 12, 2013, at 12:27 AM, "Sean P. DeNigris" wrote: > philippeback wrote >> How comes? > > It looks like it may have been broken with the switch to FileSystem. It > expects FileDirectory types... > > > > - > Cheers, > Sean > -- > View this message in context: > http://forum.world.st/Pharo-2-0-and-Monticello-settings-looks-like-there-is-no-way-to-change-tp4721125p4721159.html > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. >
Re: [Pharo-dev] In-memory FileSystem write streams not being polymorphic
> > or of course, you start looking at porting XStreams to pharo ;), which on the > long run will > solve many more problems. The current situation is not that satisfactory having experience with it and thinking about a plan for the beginning of 40 would be great. I know that nicolas ported XTream to pharo/squeak. Now understanding how integrate it would be nice. Stef
Re: [Pharo-dev] declareTempAndPaste:
for your info this is fixed now :) Tx alex and objectprofilers for this nice fix. Stef On Nov 11, 2013, at 3:22 PM, Alexandre Bergel wrote: > Hi! > > Many of us have discovered that in the last Pharo adding a temporary variable > is added before the | .. | part of the section. > > Pablo Estefo and I spend time on understanding where this comes from. But > since this is deep into the compilation chain, it would be great if an expert > (Marcus ? :-) could check what we have done. > > OCUndeclaredVariableWarning>>declareTempAndPaste: is the culprit method. We > have changed: > tempsMark := self methodNode body leftBar ifNil: [ self methodNode > body start ]. > into > tempsMark := self methodNode body rightBar ifNil: [ self methodNode > body start ]. > > > So, the new version of the method should be: > -=-=-=-=-=-=-=-=-=-=-=-= > OCUndeclaredVariableWarning>>declareTempAndPaste: name > | insertion delta theTextString characterBeforeMark tempsMark | > > theTextString := self methodNode source. > tempsMark := self methodNode body rightBar ifNil: [ self methodNode > body start ]. > characterBeforeMark := theTextString at: tempsMark-1 ifAbsent: [$ ]. > > (theTextString at: tempsMark) = $| ifTrue: [ > "Paste it before the second vertical bar" > insertion := name, ' '. > > characterBeforeMark isSeparator ifFalse: [insertion := ' ', > insertion]. > delta := 0. > ] ifFalse: [ > "No bars - insert some with CR, tab" > insertion := '| ' , name , ' |',String cr. > delta := 2. "the bar and CR" > characterBeforeMark = Character tab ifTrue: [ > insertion := insertion , String tab. > delta := delta + 1. "the tab" ] > ]. > tempsMark := tempsMark + > (self substituteWord: insertion > wordInterval: (tempsMark to: tempsMark-1) > offset: 0) - delta. > self methodNode scope addTemp: name. > ^ (node owningScope lookupVar: node name) > ifNil: [self error: 'should not happen'] > -=-=-=-=-=-=-=-=-=-=-=-= > > We have tried different cases and it seems to work. > Does this makes sense? > > Cheers, > Alexandre > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > >
Re: [Pharo-dev] About MenuModel
On Nov 11, 2013, at 8:24 PM, Benjamin wrote: > It used to be a block. > > Now you can actually use both of them, with a subtile difference which is > that the result of the block will not act one the model > unlike a MenuModel which will add its shortcuts to the model by its own. > > I will write a presentation mail this evening to explain this a bit better :) ok please log all my stupid question for the book chapter. And we should improve the method comments and class comment too. > > Ben > > On 11 Nov 2013, at 20:13, Stéphane Ducasse wrote: > >> Hi Ben >> >> We do not understand MenuModel >> in the example we have >> >> >> menu := MenuModel new. >> … >> group1 := MenuGroupModel new. >> item11 := MenuItemModel new >> name: [ TimeStamp now asString ]; >> enabled: [ TimeStamp now seconds even ]; >> yourself. >> >> ... >> model := NewListModel new. >> model menu: menu >> >> >> then on the NewListModel >> >> NewListModel >> menu: aBlock >> >> "Set the block used to defined the menu" >> >> menuHolder value: aBlock >> >> so it is a block? or a MenuModel? >> >> I'm totally confused. >> >> Stef >
Re: [Pharo-dev] About MenuItemModel
Ok course and I knew it. Stef > Indeed :) > > Ben > > On 11 Nov 2013, at 19:17, Camillo Bruni wrote: > >> #action is most probably a ValueHolder, no? >> >> On 2013-11-11, at 19:12, Stéphane Ducasse wrote: >> >>> Hi ben >>> >>> do I get it correctly that we pass a block to a block for action >>> >>> action: aBlock >>> >>> action value: aBlock >>> >>> are you sure that you want a block as argument of a block. >>> >>> I would prefer that action is simply a block. >>> >>> Stef >>> >> >
Re: [Pharo-dev] Pharo 2.0 and Monticello settings: looks like there is no way to change
Stéphane Ducasse wrote > please enter a bug entry (and fixes) Aspetta! - Cheers, Sean -- View this message in context: http://forum.world.st/Pharo-2-0-and-Monticello-settings-looks-like-there-is-no-way-to-change-tp4721125p4721167.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] Pharo 2.0 and Monticello settings: looks like there is no way to change
Sean P. DeNigris wrote > Aspetta! Okay, that's long enough... here: Fix in inbox (for 2.0): SLICE-Issue-12145-Settings-Replace-references-to-FileDirectory-SeanDeNigris.1 - Add SettingDeclaration>>#inputWidgetForDirectory to replace old FileDirectory code - Update MC Settings to use new API - Cheers, Sean -- View this message in context: http://forum.world.st/Pharo-2-0-and-Monticello-settings-looks-like-there-is-no-way-to-change-tp4721125p4721168.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] About MenuModel
I will :P Indeed the comment should be improved to reflect the current implementation :) Ben On 12 Nov 2013, at 00:45, Stéphane Ducasse wrote: > > On Nov 11, 2013, at 8:24 PM, Benjamin > wrote: > >> It used to be a block. >> >> Now you can actually use both of them, with a subtile difference which is >> that the result of the block will not act one the model >> unlike a MenuModel which will add its shortcuts to the model by its own. >> >> I will write a presentation mail this evening to explain this a bit better :) > > ok please log all my stupid question for the book chapter. > And we should improve the method comments and class comment too. > > >> >> Ben >> >> On 11 Nov 2013, at 20:13, Stéphane Ducasse wrote: >> >>> Hi Ben >>> >>> We do not understand MenuModel >>> in the example we have >>> >>> >>> menu := MenuModel new. >>> … >>> group1 := MenuGroupModel new. >>> item11 := MenuItemModel new >>> name: [ TimeStamp now asString ]; >>> enabled: [ TimeStamp now seconds even ]; >>> yourself. >>> >>> ... >>> model := NewListModel new. >>> model menu: menu >>> >>> >>> then on the NewListModel >>> >>> NewListModel >> menu: aBlock >>> >>> "Set the block used to defined the menu" >>> >>> menuHolder value: aBlock >>> >>> so it is a block? or a MenuModel? >>> >>> I'm totally confused. >>> >>> Stef >> >
Re: [Pharo-dev] Unexpected block variable change of value
Thanks Clément. Making that setting change, then "Compiler recompileAll" did fix the problem. However following up with "OpalCompiler recompileAll" does not reintroduce the problem. Starting again with a fresh build #30564, I confirmed the problem was there, then first did "OpalCompiler recompileAll" and the problem remained. btw, (sorry) a correction below, the place to insert the breakpoint was SpecLayout>>privateAsArray not SpecRowLayout>>privateAsArray. regards, Ben Clément Bera wrote: There is a bug left in double nested blocks in the debugger (some variables then shows incorrect value). Retry with the old compiler (world menu>settings>compiler>Compiler) and see if this is fixed. 2013/11/11 Max Leske Not sure if it’s related to your issue but I’ve been seeing swapped temporary variables in the debugger. The value used for execution is correct but in the view two variables will have the value of the other. Are you sure that the value *effectively* changes or could it be a visualization problem? Max On 11.11.2013, at 17:29, b...@openinworld.com wrote: I'm not sure if I'm missing something, but there seems some strange behavior that I don't understand. The value of a block variable changes when stepping over a method that acts on that variable. I encountered this in Spec, but that seems co-incidental to the behaviour. SETUP 1. The attached "My-Spec-Tutorial-BenComan.1.mcz" (i.e. Bahman's tutorial) was loaded into build #30564. 2. A breakpoint was inserted after the first "e generateArguments" in... SpecRowLayout>>privateAsArray | result shouldCheckSplitters | result := OrderedCollection new. shouldCheckSplitters := false. (self commands reject: [:e | e isSplitter ]) do: [:e | ...lots..hidden.for..conciseness e generateArguments. self haltOnce. "<--" e asSpecElements do: [:el | result add: el ]]. 3. The following was evaluated... Halt enableHaltOnce. MyFirstWindow new openWithSpec: #defaultSpec. OBSERVATION 1. When the debugger opened at the breakpoint e = a SpecLayoutAdd 2. But after stepping over #asSpecElements e = an OrderedCollection() So how did the value of 'e' change? Where... SpecLayoutAdd(SpecLayoutSend)>>asSpecElements ^ {self selector.}, self arguments SpecLayoutAdd(SpecLayoutSend)>>selector ^ selector SpecLayoutAdd(SpecLayoutSend)>>arguments ^ arguments This was on Windows 7. Since files.pharo.org is offline, I wasn't able to try a newer VM. My current was... NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano Jenkins build #14535 Win32 built on Mar 13 2013 18:49:42 Compiler: 4.6.2 VMMaker versionString git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano Jenkins build #14535 NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 cheers -ben
Re: [Pharo-dev] Pharo 2.0 and Monticello settings: looks like there is no way to change
Sean P. DeNigris wrote > Fix in inbox (for 2.0) And for 3.0... Fix in inbox: SLICE-Issue-12146-Port-to-30-12145-Settings-Replace-references-to-FileDirectory-SeanDeNigris.1 - Cheers, Sean -- View this message in context: http://forum.world.st/Pharo-2-0-and-Monticello-settings-looks-like-there-is-no-way-to-change-tp4721125p4721174.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] Spec new release :)
Benjamin wrote: Hello everyone, I am glad to announce a step has been made in Spec with the introduction of five new models: TreeNodeModel, TreeColumnModel, MenuModel, MenuGroupModel and MenuItemModel. I. Trees The two first models (TreeNodeModel, TreeColumnModel) are used to build and specify trees (in addition with TreeModel). a) TreeNodeModel TreeNode represent a node of the tree, and hold some basic information like what the children of the node are, or which icon to use. Previously, one could use directly subclasses of MorphTreeNodeModel directly. This has been removed to loose the bonds between Spec and Morphic. If you used direct Morphic nodes in your tree, you will need to replace them by TreeNodeModel instances. You could also have used TreeModel methods used to generically describe your nodes. In this case, the only change you will need is how you access the content of a node. The MorphTreeNodeModel method used for this is #item while in TreeNodeModel it is #content. TreeNodeModel also support filtering out of the box with an extensible mechanism. b) TreeColumnModel TreeColumnModel is used to specify the columns used to render the tree nodes. Where one used to use TreeColumnMorph, now TreeColumnModel have to be use. The mainly behave the same, only the API differs to provide a less morphic oriented set of methods. TreeColumnModel also resolve some some updating issue encountered in TreeColumnMorph. II. Menus The three remaining models are used to build menus for the spec models. The way to build menus has been rethink to provide a more natural way to think menus. a) MenuModel A MenuModel is a quite a simple object with only an optional name, an optional icon and a list of menu groups. A MenuModel can also be turned into an auto-refreshing menu. The main method of MenuModel is #addGroup: which takes a block as argument and build a group before adding it to the menu model groups list. Example: aMenu addGroup: [ :aGroup | aGroup addItem: [ :anItem | anItem name: 'Browse Full'; action: [ self browseSelectedObject ]; shortcut: $b command mac | $b alt win | $b alt unix ]. aGroup addItem: [ :anItem | anItem name: 'Browse Class'; action: [ self browseSelectedObjectClass ] ] ]. b) MenuGroupModel A MenuGroupModel represent a set of menu items which belong to a same logical set by providing related actions. A menu group only hold a list of menu items. The main method of MenuGroupModel is #addItem: , as you have seen in the previous example. Example: aGroup addItem: [ :anItem | anItem name: 'Browse Hierarchy'; action: [ self browseSelectedObjectClassHierarchy ]; shortcut: $h command mac | $h alt win | $h alt unix ] c) MenuItemModel A menu item is the core of a menu. It is the object that can actually perform an action. A MenuItemModel holds multiple information related to this action like the name of the menu entry, the optional icon you want to use, if the action is doable in the current context, and the optional shortcut triggering the action. An interesting feature is that by applying a menu to a spec model, the shortcuts of its items will be used to automatically bind the corresponding key combination to the menu item action (taking in account the context to prevent to fire action when it does not make sense). So far, this feature has been introduced only in NewListModel to fix the possible issues before a global deployment. Thanks for reading this long email, thanks for your support and your feedback, and see you soon :) Ben Thanks for your efforts. I'll try them out soon. regards -ben
Re: [Pharo-dev] Pharo 2.0 and Monticello settings: looks like there is no way to change
Much better; Much gracias! --- Philippe Back Dramatic Performance Improvements Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail:p...@highoctane.be | Web: http://philippeback.eu Blog: http://philippeback.be | Twitter: @philippeback Youtube: http://www.youtube.com/user/philippeback/videos High Octane SPRL rue cour Boisacq 101 | 1301 Bierges | Belgium Pharo Consortium Member - http://consortium.pharo.org/ Featured on the Software Process and Measurement Cast - http://spamcast.libsyn.com Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller On Tue, Nov 12, 2013 at 12:52 AM, Sean P. DeNigris wrote: > Sean P. DeNigris wrote > > Aspetta! > > Okay, that's long enough... here: > > Fix in inbox (for 2.0): > > SLICE-Issue-12145-Settings-Replace-references-to-FileDirectory-SeanDeNigris.1 > > - Add SettingDeclaration>>#inputWidgetForDirectory to replace old > FileDirectory code > - Update MC Settings to use new API > > > > - > Cheers, > Sean > -- > View this message in context: > http://forum.world.st/Pharo-2-0-and-Monticello-settings-looks-like-there-is-no-way-to-change-tp4721125p4721168.html > Sent from the Pharo Smalltalk Developers mailing list archive at > Nabble.com. > >
Re: [Pharo-dev] Pharo 2.0 and Monticello settings: looks like there is no way to change
cool :) Stef On Nov 12, 2013, at 1:00 AM, Sean P. DeNigris wrote: > Sean P. DeNigris wrote >> Fix in inbox (for 2.0) > > And for 3.0... > Fix in inbox: > SLICE-Issue-12146-Port-to-30-12145-Settings-Replace-references-to-FileDirectory-SeanDeNigris.1 > > > > - > Cheers, > Sean > -- > View this message in context: > http://forum.world.st/Pharo-2-0-and-Monticello-settings-looks-like-there-is-no-way-to-change-tp4721125p4721174.html > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. >
Re: [Pharo-dev] Spec new release :)
> > Example: > aMenu addGroup: [ :aGroup | > aGroup addItem: [ :anItem | > anItem name: 'Browse Full'; > action: [ self browseSelectedObject ]; > shortcut: $b command mac | $b alt win | $b alt unix ]. > aGroup addItem: [ :anItem | > anItem name: 'Browse Class'; > action: [ self browseSelectedObjectClass ] ] ]. > I do not see the value of passing block to add element to groups why not the normal way i.e. passing an object. I do not get why executing a block with an object is better? Stef
Re: [Pharo-dev] NativeBoost: Documentation Suggestion and Question
Sean P. DeNigris wrote > Using the presentation, I tried to communicate with the portaudio lib (OSX > 10.8.5, lib installed with brew). > ... > Thanks in advance for any guidance... Bump. btw I should mention that the error was "function unavailable" - Cheers, Sean -- View this message in context: http://forum.world.st/NativeBoost-Documentation-Suggestion-and-Question-tp4720805p4721184.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] Pharo 2.0 and Monticello settings: looks like there is no way to change
That was almost too long :) Good job, Doru On Tue, Nov 12, 2013 at 1:00 AM, Sean P. DeNigris wrote: > Sean P. DeNigris wrote > > Fix in inbox (for 2.0) > > And for 3.0... > Fix in inbox: > > SLICE-Issue-12146-Port-to-30-12145-Settings-Replace-references-to-FileDirectory-SeanDeNigris.1 > > > > - > Cheers, > Sean > -- > View this message in context: > http://forum.world.st/Pharo-2-0-and-Monticello-settings-looks-like-there-is-no-way-to-change-tp4721125p4721174.html > Sent from the Pharo Smalltalk Developers mailing list archive at > Nabble.com. > > -- www.tudorgirba.com "Every thing has its own flow"
Re: [Pharo-dev] Spec new release :)
It is not necessary better, but it saves you from having hundreds of temp vars :) Ben On 12 Nov 2013, at 01:49, Stéphane Ducasse wrote: >> >> Example: >> aMenu addGroup: [ :aGroup | >> aGroup addItem: [ :anItem | >> anItem name: 'Browse Full'; >> action: [ self browseSelectedObject ]; >> shortcut: $b command mac | $b alt win | $b alt unix ]. >> aGroup addItem: [ :anItem | >> anItem name: 'Browse Class'; >> action: [ self browseSelectedObjectClass ] ] ]. >> > > I do not see the value of passing block to add element to groups > why not the normal way i.e. passing an object. I do not get why executing > a block with an object is better? > > Stef >