Re: [Pharo-dev] vmLatest zeroconf problem

2013-11-11 Thread p...@highoctane.be
Now get.pharo.org looks like dead.


Re: [Pharo-dev] vmLatest zeroconf problem

2013-11-11 Thread Max Leske
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.

2013-11-11 Thread p...@highoctane.be
No way to download anything, including from the pharo-project homepage.


Re: [Pharo-dev] vmLatest zeroconf problem

2013-11-11 Thread Max Leske
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

2013-11-11 Thread Sven Van Caekenberghe

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.

2013-11-11 Thread kilon alios
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

2013-11-11 Thread p...@highoctane.be
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

2013-11-11 Thread Norbert Hartl
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

2013-11-11 Thread Sven Van Caekenberghe
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

2013-11-11 Thread Tudor Girba
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

2013-11-11 Thread p...@highoctane.be
[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

2013-11-11 Thread J.F. Rick
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

2013-11-11 Thread Mariano

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

2013-11-11 Thread Mariano

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

2013-11-11 Thread Mariano Martinez Peck
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?

2013-11-11 Thread Pablo Estefó
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

2013-11-11 Thread Max Leske
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?

2013-11-11 Thread Max Leske
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?

2013-11-11 Thread Max Leske
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

2013-11-11 Thread Alexandre Bergel
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?

2013-11-11 Thread Alexandre Bergel
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

2013-11-11 Thread Nicolás Papagna Maldonado
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?

2013-11-11 Thread Benjamin
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

2013-11-11 Thread Camillo Bruni

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:

2013-11-11 Thread Alexandre Bergel
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?

2013-11-11 Thread p...@highoctane.be
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

2013-11-11 Thread kilon alios
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

2013-11-11 Thread 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 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

2013-11-11 Thread p...@highoctane.be
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

2013-11-11 Thread Sven Van Caekenberghe

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

2013-11-11 Thread p...@highoctane.be
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

2013-11-11 Thread btc
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

2013-11-11 Thread p...@highoctane.be
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

2013-11-11 Thread 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] Large difference in image size when loading configuration

2013-11-11 Thread Camillo Bruni
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?

2013-11-11 Thread Juraj Kubelka
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

2013-11-11 Thread Stéphane Ducasse
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

2013-11-11 Thread Camillo Bruni
#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:

2013-11-11 Thread Stéphane Ducasse
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 :-)

2013-11-11 Thread Alexandre Bergel
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

2013-11-11 Thread Stéphane Ducasse
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?

2013-11-11 Thread Camillo Bruni
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:

2013-11-11 Thread Benjamin
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:

2013-11-11 Thread Benjamin
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

2013-11-11 Thread Stéphane Ducasse
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?

2013-11-11 Thread Juraj Kubelka
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

2013-11-11 Thread Benjamin
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 :-)

2013-11-11 Thread Camillo Bruni
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 :-)

2013-11-11 Thread Alexandre Bergel
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

2013-11-11 Thread Benjamin
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

2013-11-11 Thread Clément Bera
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

2013-11-11 Thread Benjamin
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:

2013-11-11 Thread Stéphane Ducasse
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

2013-11-11 Thread Alexandre Bergel
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

2013-11-11 Thread kilon alios
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

2013-11-11 Thread Tudor Girba
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

2013-11-11 Thread Alexandre Bergel
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 :)

2013-11-11 Thread Benjamin
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

2013-11-11 Thread Jimmie Houchin

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

2013-11-11 Thread Sean P. DeNigris
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

2013-11-11 Thread Stéphane Ducasse
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

2013-11-11 Thread Stéphane Ducasse

> 
> 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:

2013-11-11 Thread Stéphane Ducasse
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

2013-11-11 Thread Stéphane Ducasse

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

2013-11-11 Thread Stéphane Ducasse
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

2013-11-11 Thread Sean P. DeNigris
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

2013-11-11 Thread Sean P. DeNigris
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

2013-11-11 Thread Benjamin
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

2013-11-11 Thread btc




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

2013-11-11 Thread Sean P. DeNigris
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 :)

2013-11-11 Thread btc

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

2013-11-11 Thread p...@highoctane.be
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

2013-11-11 Thread Stéphane Ducasse
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 :)

2013-11-11 Thread Stéphane Ducasse
> 
> 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

2013-11-11 Thread Sean P. DeNigris
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

2013-11-11 Thread Tudor Girba
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 :)

2013-11-11 Thread Benjamin
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
>