Andreas Raab uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ar.395.mcz
==================== Summary ====================
Name: Monticello-ar.395
Author: ar
Time: 16 June 2010, 7:59:25.171 pm
UUID: 4fff4f18-f2ee-a748-9ff4-f23e3046d20d
Ancestors: Monticello-nice.394
Provide a way to flush PackageInfos not associated with MC packages.
=============== Diff against Monticello-nice.394 ===============
Item was added:
+ ----- Method: MCPackageManager class>>flushObsoletePackageInfos (in category 'cleanup') -----
+ flushObsoletePackageInfos
+ "Flush any and all PackageInfos that are not associated with an MCPackageManager."
+
+ | pkgNames |
+ pkgNames := self allManagers collect:[:wcs| wcs packageName] as: Set.
+ PackageOrganizer default flushObsoletePackages:[:p|
+ p class isObsolete or:[(pkgNames includes: p packageName) not].
+ ].!
Andreas Raab uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ar.395.mcz
==================== Summary ====================
Name: Monticello-ar.395
Author: ar
Time: 16 June 2010, 7:59:25.171 pm
UUID: 4fff4f18-f2ee-a748-9ff4-f23e3046d20d
Ancestors: Monticello-nice.394
Provide a way to flush PackageInfos not associated with MC packages.
=============== Diff against Monticello-nice.394 ===============
Item was added:
+ ----- Method: MCPackageManager class>>flushObsoletePackageInfos (in category 'cleanup') -----
+ flushObsoletePackageInfos
+ "Flush any and all PackageInfos that are not associated with an MCPackageManager."
+
+ | pkgNames |
+ pkgNames := self allManagers collect:[:wcs| wcs packageName] as: Set.
+ PackageOrganizer default flushObsoletePackages:[:p|
+ p class isObsolete or:[(pkgNames includes: p packageName) not].
+ ].!
Andreas Raab uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ar.395.mcz
==================== Summary ====================
Name: Monticello-ar.395
Author: ar
Time: 16 June 2010, 7:59:25.171 pm
UUID: 4fff4f18-f2ee-a748-9ff4-f23e3046d20d
Ancestors: Monticello-nice.394
Provide a way to flush PackageInfos not associated with MC packages.
=============== Diff against Monticello-nice.394 ===============
Item was added:
+ ----- Method: MCPackageManager class>>flushObsoletePackageInfos (in category 'cleanup') -----
+ flushObsoletePackageInfos
+ "Flush any and all PackageInfos that are not associated with an MCPackageManager."
+
+ | pkgNames |
+ pkgNames := self allManagers collect:[:wcs| wcs packageName] as: Set.
+ PackageOrganizer default flushObsoletePackages:[:p|
+ p class isObsolete or:[(pkgNames includes: p packageName) not].
+ ].!
Andreas Raab uploaded a new version of PackageInfo-Base to project The Trunk:
http://source.squeak.org/trunk/PackageInfo-Base-ar.43.mcz
==================== Summary ====================
Name: PackageInfo-Base-ar.43
Author: ar
Time: 16 June 2010, 7:58:18.534 pm
UUID: 0e46f5dd-3a59-9d48-8110-824bf98ee532
Ancestors: PackageInfo-Base-bf.42
Add a method to flush obsolete PackageInfos.
=============== Diff against PackageInfo-Base-bf.42 ===============
Item was added:
+ ----- Method: PackageOrganizer>>flushObsoletePackages: (in category 'registering') -----
+ flushObsoletePackages: aBlock
+ "Flush all packages considered obsolete by evaluating the argument block."
+
+ packages keys do:[:key|
+ (aBlock value: (packages at: key)) ifTrue:[packages removeKey: key].
+ ].
+ self changed: #packages; changed: #packageNames.!
Andreas Raab uploaded a new version of PackageInfo-Base to project The Trunk:
http://source.squeak.org/trunk/PackageInfo-Base-ar.43.mcz
==================== Summary ====================
Name: PackageInfo-Base-ar.43
Author: ar
Time: 16 June 2010, 7:58:18.534 pm
UUID: 0e46f5dd-3a59-9d48-8110-824bf98ee532
Ancestors: PackageInfo-Base-bf.42
Add a method to flush obsolete PackageInfos.
=============== Diff against PackageInfo-Base-bf.42 ===============
Item was added:
+ ----- Method: PackageOrganizer>>flushObsoletePackages: (in category 'registering') -----
+ flushObsoletePackages: aBlock
+ "Flush all packages considered obsolete by evaluating the argument block."
+
+ packages keys do:[:key|
+ (aBlock value: (packages at: key)) ifTrue:[packages removeKey: key].
+ ].
+ self changed: #packages; changed: #packageNames.!
Andreas Raab uploaded a new version of PackageInfo-Base to project The Trunk:
http://source.squeak.org/trunk/PackageInfo-Base-ar.43.mcz
==================== Summary ====================
Name: PackageInfo-Base-ar.43
Author: ar
Time: 16 June 2010, 7:58:18.534 pm
UUID: 0e46f5dd-3a59-9d48-8110-824bf98ee532
Ancestors: PackageInfo-Base-bf.42
Add a method to flush obsolete PackageInfos.
=============== Diff against PackageInfo-Base-bf.42 ===============
Item was added:
+ ----- Method: PackageOrganizer>>flushObsoletePackages: (in category 'registering') -----
+ flushObsoletePackages: aBlock
+ "Flush all packages considered obsolete by evaluating the argument block."
+
+ packages keys do:[:key|
+ (aBlock value: (packages at: key)) ifTrue:[packages removeKey: key].
+ ].
+ self changed: #packages; changed: #packageNames.!
Andreas Raab uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ar.338.mcz
==================== Summary ====================
Name: System-ar.338
Author: ar
Time: 16 June 2010, 7:52:24.553 pm
UUID: afc7591b-0a9a-bc4f-8b36-2081eb2445de
Ancestors: System-ar.337
Make it possible to run cleanup non-interactively.
=============== Diff against System-ar.337 ===============
Item was added:
+ ----- Method: SmalltalkImage>>cleanUp:except:confirming: (in category 'housekeeping') -----
+ cleanUp: aggressive except: exclusions confirming: aBool
+ "Clean up. When aggressive is true, this will destroy projects, change sets, etc.
+ Leave out any classes specifically listed in exclusions."
+
+ "Smalltalk cleanUp: true except: {Project. ChangeSet}"
+
+ | classes |
+ aBool ifTrue:[
+ "Give the user a chance to bail"
+ (self confirm: 'Cleanup will destroy projects, change sets and more.
+ Are you sure you want to proceed?') ifFalse:[^self].
+ ].
+
+ "Find all classes implementing #cleanUp or cleanUp:"
+ classes := Smalltalk allClasses select:[:aClass|
+ (aClass class includesSelector: #cleanUp)
+ or:[aClass class includesSelector: #cleanUp:]
+ ].
+
+ "Leave out the classes in the exclusion set"
+ classes := classes reject:[:aClass| exclusions includes: aClass].
+
+ "Arrange classes in superclass order, superclasses before subclasses.
+ This will ensure that specific cleanup (like MethodDictionary compaction)
+ will run after generic superclass cleanup (HashedCollection rehashing).
+ Otherwise generic superclass cleanup might undo specific one (in this
+ case rehashing will undo a good bit of MD compaction)."
+ classes := ChangeSet superclassOrder: classes.
+
+ "Run the cleanup code"
+ classes
+ do:[:aClass| aClass cleanUp: aggressive]
+ displayingProgress:[:aClass| 'Cleaning up in ', aClass name].!
Item was changed:
----- Method: SmalltalkImage>>cleanUp:except: (in category 'housekeeping') -----
cleanUp: aggressive except: exclusions
"Clean up. When aggressive is true, this will destroy projects, change sets, etc.
Leave out any classes specifically listed in exclusions."
"Smalltalk cleanUp: true except: {Project. ChangeSet}"
+ ^self cleanUp: aggressive except: exclusions confirming: aggressive!
- | classes |
- aggressive ifTrue:[
- "Give the user a chance to bail"
- (self confirm: 'Aggressive cleanup will destroy projects, change sets and more.
- Are you sure you want to proceed?') ifFalse:[^self].
- ].
-
- "Find all classes implementing #cleanUp or cleanUp:"
- classes := Smalltalk allClasses select:[:aClass|
- (aClass class includesSelector: #cleanUp)
- or:[aClass class includesSelector: #cleanUp:]
- ].
-
- "Leave out the classes in the exclusion set"
- classes := classes reject:[:aClass| exclusions includes: aClass].
-
- "Arrange classes in superclass order, superclasses before subclasses.
- This will ensure that specific cleanup (like MethodDictionary compaction)
- will run after generic superclass cleanup (HashedCollection rehashing).
- Otherwise generic superclass cleanup might undo specific one (in this
- case rehashing will undo a good bit of MD compaction)."
- classes := ChangeSet superclassOrder: classes.
-
- "Run the cleanup code"
- classes
- do:[:aClass| aClass cleanUp: aggressive]
- displayingProgress:[:aClass| 'Cleaning up in ', aClass name].!
Andreas Raab uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ar.338.mcz
==================== Summary ====================
Name: System-ar.338
Author: ar
Time: 16 June 2010, 7:52:24.553 pm
UUID: afc7591b-0a9a-bc4f-8b36-2081eb2445de
Ancestors: System-ar.337
Make it possible to run cleanup non-interactively.
=============== Diff against System-ar.337 ===============
Item was added:
+ ----- Method: SmalltalkImage>>cleanUp:except:confirming: (in category 'housekeeping') -----
+ cleanUp: aggressive except: exclusions confirming: aBool
+ "Clean up. When aggressive is true, this will destroy projects, change sets, etc.
+ Leave out any classes specifically listed in exclusions."
+
+ "Smalltalk cleanUp: true except: {Project. ChangeSet}"
+
+ | classes |
+ aBool ifTrue:[
+ "Give the user a chance to bail"
+ (self confirm: 'Cleanup will destroy projects, change sets and more.
+ Are you sure you want to proceed?') ifFalse:[^self].
+ ].
+
+ "Find all classes implementing #cleanUp or cleanUp:"
+ classes := Smalltalk allClasses select:[:aClass|
+ (aClass class includesSelector: #cleanUp)
+ or:[aClass class includesSelector: #cleanUp:]
+ ].
+
+ "Leave out the classes in the exclusion set"
+ classes := classes reject:[:aClass| exclusions includes: aClass].
+
+ "Arrange classes in superclass order, superclasses before subclasses.
+ This will ensure that specific cleanup (like MethodDictionary compaction)
+ will run after generic superclass cleanup (HashedCollection rehashing).
+ Otherwise generic superclass cleanup might undo specific one (in this
+ case rehashing will undo a good bit of MD compaction)."
+ classes := ChangeSet superclassOrder: classes.
+
+ "Run the cleanup code"
+ classes
+ do:[:aClass| aClass cleanUp: aggressive]
+ displayingProgress:[:aClass| 'Cleaning up in ', aClass name].!
Item was changed:
----- Method: SmalltalkImage>>cleanUp:except: (in category 'housekeeping') -----
cleanUp: aggressive except: exclusions
"Clean up. When aggressive is true, this will destroy projects, change sets, etc.
Leave out any classes specifically listed in exclusions."
"Smalltalk cleanUp: true except: {Project. ChangeSet}"
+ ^self cleanUp: aggressive except: exclusions confirming: aggressive!
- | classes |
- aggressive ifTrue:[
- "Give the user a chance to bail"
- (self confirm: 'Aggressive cleanup will destroy projects, change sets and more.
- Are you sure you want to proceed?') ifFalse:[^self].
- ].
-
- "Find all classes implementing #cleanUp or cleanUp:"
- classes := Smalltalk allClasses select:[:aClass|
- (aClass class includesSelector: #cleanUp)
- or:[aClass class includesSelector: #cleanUp:]
- ].
-
- "Leave out the classes in the exclusion set"
- classes := classes reject:[:aClass| exclusions includes: aClass].
-
- "Arrange classes in superclass order, superclasses before subclasses.
- This will ensure that specific cleanup (like MethodDictionary compaction)
- will run after generic superclass cleanup (HashedCollection rehashing).
- Otherwise generic superclass cleanup might undo specific one (in this
- case rehashing will undo a good bit of MD compaction)."
- classes := ChangeSet superclassOrder: classes.
-
- "Run the cleanup code"
- classes
- do:[:aClass| aClass cleanUp: aggressive]
- displayingProgress:[:aClass| 'Cleaning up in ', aClass name].!
Andreas Raab uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ar.338.mcz
==================== Summary ====================
Name: System-ar.338
Author: ar
Time: 16 June 2010, 7:52:24.553 pm
UUID: afc7591b-0a9a-bc4f-8b36-2081eb2445de
Ancestors: System-ar.337
Make it possible to run cleanup non-interactively.
=============== Diff against System-ar.337 ===============
Item was added:
+ ----- Method: SmalltalkImage>>cleanUp:except:confirming: (in category 'housekeeping') -----
+ cleanUp: aggressive except: exclusions confirming: aBool
+ "Clean up. When aggressive is true, this will destroy projects, change sets, etc.
+ Leave out any classes specifically listed in exclusions."
+
+ "Smalltalk cleanUp: true except: {Project. ChangeSet}"
+
+ | classes |
+ aBool ifTrue:[
+ "Give the user a chance to bail"
+ (self confirm: 'Cleanup will destroy projects, change sets and more.
+ Are you sure you want to proceed?') ifFalse:[^self].
+ ].
+
+ "Find all classes implementing #cleanUp or cleanUp:"
+ classes := Smalltalk allClasses select:[:aClass|
+ (aClass class includesSelector: #cleanUp)
+ or:[aClass class includesSelector: #cleanUp:]
+ ].
+
+ "Leave out the classes in the exclusion set"
+ classes := classes reject:[:aClass| exclusions includes: aClass].
+
+ "Arrange classes in superclass order, superclasses before subclasses.
+ This will ensure that specific cleanup (like MethodDictionary compaction)
+ will run after generic superclass cleanup (HashedCollection rehashing).
+ Otherwise generic superclass cleanup might undo specific one (in this
+ case rehashing will undo a good bit of MD compaction)."
+ classes := ChangeSet superclassOrder: classes.
+
+ "Run the cleanup code"
+ classes
+ do:[:aClass| aClass cleanUp: aggressive]
+ displayingProgress:[:aClass| 'Cleaning up in ', aClass name].!
Item was changed:
----- Method: SmalltalkImage>>cleanUp:except: (in category 'housekeeping') -----
cleanUp: aggressive except: exclusions
"Clean up. When aggressive is true, this will destroy projects, change sets, etc.
Leave out any classes specifically listed in exclusions."
"Smalltalk cleanUp: true except: {Project. ChangeSet}"
+ ^self cleanUp: aggressive except: exclusions confirming: aggressive!
- | classes |
- aggressive ifTrue:[
- "Give the user a chance to bail"
- (self confirm: 'Aggressive cleanup will destroy projects, change sets and more.
- Are you sure you want to proceed?') ifFalse:[^self].
- ].
-
- "Find all classes implementing #cleanUp or cleanUp:"
- classes := Smalltalk allClasses select:[:aClass|
- (aClass class includesSelector: #cleanUp)
- or:[aClass class includesSelector: #cleanUp:]
- ].
-
- "Leave out the classes in the exclusion set"
- classes := classes reject:[:aClass| exclusions includes: aClass].
-
- "Arrange classes in superclass order, superclasses before subclasses.
- This will ensure that specific cleanup (like MethodDictionary compaction)
- will run after generic superclass cleanup (HashedCollection rehashing).
- Otherwise generic superclass cleanup might undo specific one (in this
- case rehashing will undo a good bit of MD compaction)."
- classes := ChangeSet superclassOrder: classes.
-
- "Run the cleanup code"
- classes
- do:[:aClass| aClass cleanUp: aggressive]
- displayingProgress:[:aClass| 'Cleaning up in ', aClass name].!
Andreas Raab uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-ar.444.mcz
==================== Summary ====================
Name: Morphic-ar.444
Author: ar
Time: 15 June 2010, 8:53:28.939 pm
UUID: d1a51233-342a-694b-9f11-09f9b3f7afe6
Ancestors: Morphic-cmm.443
Fix some clipping issues with PluggableTextMorph which handled resizing of its textMorph in the wrong place. This could cause the textMorph to have different extent than the scroller causing incorrect clipping under a variety of situation (amongst which was disabling alwaysShowVScrollBar).
=============== Diff against Morphic-cmm.443 ===============
Item was changed:
----- Method: PluggableTextMorph>>extent: (in category 'geometry') -----
extent: newExtent
bounds extent = newExtent ifTrue: [^ self].
super extent: (newExtent max: 36@16).
- textMorph ifNotNil:
- [textMorph extent: (self innerBounds width-6)@self height].
self setScrollDeltas
!
Item was changed:
----- Method: PluggableTextMorph>>resetExtent (in category 'geometry') -----
resetExtent
"Reset the extent while maintaining the current selection. Needed when resizing while the editor is active (when inside the pane)."
| tempSelection |
textMorph notNil ifTrue:
["the current selection gets munged by resetting the extent, so store it"
tempSelection := self selectionInterval.
"don't reset it if it's not active"
tempSelection = (Interval from: 1 to: 0)
ifTrue: [retractableScrollBar
ifTrue:[ ^ self]].
self extent: self extent.
+ self setSelection: tempSelection].
+ super resetExtent.!
- self setSelection: tempSelection]!
Item was added:
+ ----- Method: PluggableTextMorph>>resizeScroller (in category 'geometry') -----
+ resizeScroller
+ "Also needs to resize the text morph"
+
+ super resizeScroller.
+ textMorph ifNotNil:
+ [textMorph extent: (self innerBounds width-6)@self height].
+ !