ImageSegment fixes in Inbox

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

ImageSegment fixes in Inbox

Mariano Martinez Peck
Hi! After several days of surfing the beatiful ImageSegment code, I fixed several issues. I commit to Inbox the SLICE-FixesToImageSegment.


This are the changes in my commit:

- Removed Beeper beepPrimitive from ImageSegment >> install
- Fix to writeToFile. See issue 1204
http://code.google.com/p/pharo/issues/detail?id=1204
- Now ImageSegment >> discoverActiveClasses answer the number of them
- New method ImageSegment >> unActiveClasses
- Fix to ImageSegment >> swapOutInactiveClasses. I have to hold the allSymbols and to
exclude the Multilingual and Kernel package from the swap. This should fix issues
1203 and 1204.
- The errors for wrong states now print the current state and also the expected one.
- Fix issue 207.


Take a clean image and evaluate:

Smalltalk at: #MDFaultDict put: Dictionary new.

Then

| count |
count := ImageSegment discoverActiveClasses.
Transcript show: 'Classes forced: ', count asString.

Do something

And finally evaluate

| count |
count := ImageSegment activeClasses size.
Transcript show: 'Classes active ', count asString.

or

| count |
count := ImageSegment unActiveClasses size.
Transcript show: 'Classes active ', count asString.

Whit this, there is no trace. Even if puting the dictionary.
A simple hack to see this is to change activeClasses to use
recoverFromMDFaultWithTrace instead of recoverFromMDFault
If you do that, you will be able to inspect Smalltalk at: #MDFaultDict


I also fixed the swapOutInactiveClasses. The image have several emergency windows before this.





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: ImageSegment fixes in Inbox

Stéphane Ducasse
cool mariano
Since this code is complex did you ask sheridan to have a look?

On Dec 29, 2009, at 9:19 PM, Mariano Martinez Peck wrote:

> Hi! After several days of surfing the beatiful ImageSegment code, I fixed several issues. I commit to Inbox the SLICE-FixesToImageSegment.
>
>
> This are the changes in my commit:
>
> - Removed Beeper beepPrimitive from ImageSegment >> install
> - Fix to writeToFile. See issue 1204
> http://code.google.com/p/pharo/issues/detail?id=1204
> - Now ImageSegment >> discoverActiveClasses answer the number of them
> - New method ImageSegment >> unActiveClasses
> - Fix to ImageSegment >> swapOutInactiveClasses. I have to hold the allSymbols and to
> exclude the Multilingual and Kernel package from the swap. This should fix issues
> 1203 and 1204.
> - The errors for wrong states now print the current state and also the expected one.
> - Fix issue 207.
>
>
> Take a clean image and evaluate:
>
> Smalltalk at: #MDFaultDict put: Dictionary new.
>
> Then
>
> | count |
> count := ImageSegment discoverActiveClasses.
> Transcript show: 'Classes forced: ', count asString.
>
> Do something
>
> And finally evaluate
>
> | count |
> count := ImageSegment activeClasses size.
> Transcript show: 'Classes active ', count asString.
>
> or
>
> | count |
> count := ImageSegment unActiveClasses size.
> Transcript show: 'Classes active ', count asString.
>
> Whit this, there is no trace. Even if puting the dictionary.
> A simple hack to see this is to change activeClasses to use
> recoverFromMDFaultWithTrace instead of recoverFromMDFault
> If you do that, you will be able to inspect Smalltalk at: #MDFaultDict
>
>
> I also fixed the swapOutInactiveClasses. The image have several emergency windows before this.
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: ImageSegment fixes in Inbox

Mariano Martinez Peck


On Tue, Dec 29, 2009 at 9:31 PM, Stéphane Ducasse <[hidden email]> wrote:
cool mariano
Since this code is complex did you ask sheridan to have a look?


Sheridan is in holidays. As I will start with the cleaning and refactor soon I wanted to commit a version that at least fixes the current problems.

 However, I wouldn't commit them in 1.0, just 1.1. But.....I have been testing this in 1.0. The problem is that in 1.1 ImageSegment doesn't work anymore because of the  Issue 1075:     Clean officialClass and isSystemDefined
Search senders for isSystemDefined and you will see several. I don't know how to fix them :(
I should check that.

It would be cool if Adrian could also give some feedback, but I think he is in Holidays too. I cc him just in case.

I have written 20 unit tests also that I can commit if you want. Only one is yellow in 1.0.

Cheers

Mariano
 
On Dec 29, 2009, at 9:19 PM, Mariano Martinez Peck wrote:

> Hi! After several days of surfing the beatiful ImageSegment code, I fixed several issues. I commit to Inbox the SLICE-FixesToImageSegment.
>
>
> This are the changes in my commit:
>
> - Removed Beeper beepPrimitive from ImageSegment >> install
> - Fix to writeToFile. See issue 1204
> http://code.google.com/p/pharo/issues/detail?id=1204
> - Now ImageSegment >> discoverActiveClasses answer the number of them
> - New method ImageSegment >> unActiveClasses
> - Fix to ImageSegment >> swapOutInactiveClasses. I have to hold the allSymbols and to
> exclude the Multilingual and Kernel package from the swap. This should fix issues
> 1203 and 1204.
> - The errors for wrong states now print the current state and also the expected one.
> - Fix issue 207.
>
>
> Take a clean image and evaluate:
>
> Smalltalk at: #MDFaultDict put: Dictionary new.
>
> Then
>
> | count |
> count := ImageSegment discoverActiveClasses.
> Transcript show: 'Classes forced: ', count asString.
>
> Do something
>
> And finally evaluate
>
> | count |
> count := ImageSegment activeClasses size.
> Transcript show: 'Classes active ', count asString.
>
> or
>
> | count |
> count := ImageSegment unActiveClasses size.
> Transcript show: 'Classes active ', count asString.
>
> Whit this, there is no trace. Even if puting the dictionary.
> A simple hack to see this is to change activeClasses to use
> recoverFromMDFaultWithTrace instead of recoverFromMDFault
> If you do that, you will be able to inspect Smalltalk at: #MDFaultDict
>
>
> I also fixed the swapOutInactiveClasses. The image have several emergency windows before this.
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: ImageSegment fixes in Inbox

Stéphane Ducasse
> Sheridan is in holidays. As I will start with the cleaning and refactor soon I wanted to commit a version that at least fixes the current problems.

I imagine.

>  However, I wouldn't commit them in 1.0, just 1.1.

Yes 1.0 should only accept a fix for the double past problem.

> But.....I have been testing this in 1.0. The problem is that in 1.1 ImageSegment doesn't work anymore because of the  Issue 1075:     Clean officialClass and isSystemDefined
> Search senders for isSystemDefined and you will see several. I don't know how to fix them :(

indeed we should not have senders of them in the image if we removed the behavior.

> I should check that.

Please
>
> It would be cool if Adrian could also give some feedback, but I think he is in Holidays too. I cc him just in case.
>
> I have written 20 unit tests also that I can commit if you want. Only one is yellow in 1.0.

cool.
It would be probably good too.

Stef

>
> Cheers
>
> Mariano
>  
> On Dec 29, 2009, at 9:19 PM, Mariano Martinez Peck wrote:
>
> > Hi! After several days of surfing the beatiful ImageSegment code, I fixed several issues. I commit to Inbox the SLICE-FixesToImageSegment.
> >
> >
> > This are the changes in my commit:
> >
> > - Removed Beeper beepPrimitive from ImageSegment >> install
> > - Fix to writeToFile. See issue 1204
> > http://code.google.com/p/pharo/issues/detail?id=1204
> > - Now ImageSegment >> discoverActiveClasses answer the number of them
> > - New method ImageSegment >> unActiveClasses
> > - Fix to ImageSegment >> swapOutInactiveClasses. I have to hold the allSymbols and to
> > exclude the Multilingual and Kernel package from the swap. This should fix issues
> > 1203 and 1204.
> > - The errors for wrong states now print the current state and also the expected one.
> > - Fix issue 207.
> >
> >
> > Take a clean image and evaluate:
> >
> > Smalltalk at: #MDFaultDict put: Dictionary new.
> >
> > Then
> >
> > | count |
> > count := ImageSegment discoverActiveClasses.
> > Transcript show: 'Classes forced: ', count asString.
> >
> > Do something
> >
> > And finally evaluate
> >
> > | count |
> > count := ImageSegment activeClasses size.
> > Transcript show: 'Classes active ', count asString.
> >
> > or
> >
> > | count |
> > count := ImageSegment unActiveClasses size.
> > Transcript show: 'Classes active ', count asString.
> >
> > Whit this, there is no trace. Even if puting the dictionary.
> > A simple hack to see this is to change activeClasses to use
> > recoverFromMDFaultWithTrace instead of recoverFromMDFault
> > If you do that, you will be able to inspect Smalltalk at: #MDFaultDict
> >
> >
> > I also fixed the swapOutInactiveClasses. The image have several emergency windows before this.
> >
> >
> >
> >
> > _______________________________________________
> > Pharo-project mailing list
> > [hidden email]
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: ImageSegment fixes in Inbox

Mariano Martinez Peck
Stef: I commited the merged version in Inbox:

Name: SLICE-FixToImageSegmentMerged-MarianoMartinezPeck.1
Author: MarianoMartinezPeck
Time: 5 January 2010, 2:07:03 pm
UUID: eb5d6921-054b-4fb6-b62c-c545a7aec3ad
Ancestors:
Dependencies: System-Object Storage-MarianoMartinezPeck.50

Fix to ImageSegment merged



On Tue, Dec 29, 2009 at 10:15 PM, Stéphane Ducasse <[hidden email]> wrote:
> Sheridan is in holidays. As I will start with the cleaning and refactor soon I wanted to commit a version that at least fixes the current problems.

I imagine.

>  However, I wouldn't commit them in 1.0, just 1.1.

Yes 1.0 should only accept a fix for the double past problem.

> But.....I have been testing this in 1.0. The problem is that in 1.1 ImageSegment doesn't work anymore because of the  Issue 1075:     Clean officialClass and isSystemDefined
> Search senders for isSystemDefined and you will see several. I don't know how to fix them :(

indeed we should not have senders of them in the image if we removed the behavior.

> I should check that.

Please
>
> It would be cool if Adrian could also give some feedback, but I think he is in Holidays too. I cc him just in case.
>
> I have written 20 unit tests also that I can commit if you want. Only one is yellow in 1.0.

cool.
It would be probably good too.

Stef
>
> Cheers
>
> Mariano
>
> On Dec 29, 2009, at 9:19 PM, Mariano Martinez Peck wrote:
>
> > Hi! After several days of surfing the beatiful ImageSegment code, I fixed several issues. I commit to Inbox the SLICE-FixesToImageSegment.
> >
> >
> > This are the changes in my commit:
> >
> > - Removed Beeper beepPrimitive from ImageSegment >> install
> > - Fix to writeToFile. See issue 1204
> > http://code.google.com/p/pharo/issues/detail?id=1204
> > - Now ImageSegment >> discoverActiveClasses answer the number of them
> > - New method ImageSegment >> unActiveClasses
> > - Fix to ImageSegment >> swapOutInactiveClasses. I have to hold the allSymbols and to
> > exclude the Multilingual and Kernel package from the swap. This should fix issues
> > 1203 and 1204.
> > - The errors for wrong states now print the current state and also the expected one.
> > - Fix issue 207.
> >
> >
> > Take a clean image and evaluate:
> >
> > Smalltalk at: #MDFaultDict put: Dictionary new.
> >
> > Then
> >
> > | count |
> > count := ImageSegment discoverActiveClasses.
> > Transcript show: 'Classes forced: ', count asString.
> >
> > Do something
> >
> > And finally evaluate
> >
> > | count |
> > count := ImageSegment activeClasses size.
> > Transcript show: 'Classes active ', count asString.
> >
> > or
> >
> > | count |
> > count := ImageSegment unActiveClasses size.
> > Transcript show: 'Classes active ', count asString.
> >
> > Whit this, there is no trace. Even if puting the dictionary.
> > A simple hack to see this is to change activeClasses to use
> > recoverFromMDFaultWithTrace instead of recoverFromMDFault
> > If you do that, you will be able to inspect Smalltalk at: #MDFaultDict
> >
> >
> > I also fixed the swapOutInactiveClasses. The image have several emergency windows before this.
> >
> >
> >
> >
> > _______________________________________________
> > Pharo-project mailing list
> > [hidden email]
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project