[Pharo-project] ImageSegment fixes in Inbox
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.
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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Tue, Dec 29, 2009 at 9:31 PM, Stéphane Ducasse <stephane.ducasse@inria.fr
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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
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 < stephane.ducasse@inria.fr> 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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (2)
-
Mariano Martinez Peck -
Stéphane Ducasse