Chris Muller uploaded a new version of SMBase to project The Trunk:
http://source.squeak.org/trunk/SMBase-cmm.112.mcz
==================== Summary ====================
Name: SMBase-cmm.112
Author: cmm
Time: 5 February 2011, 3:02:46 pm
UUID: 05f36b19-1b85-4cff-846a-93a8aa099f74
Ancestors: SMBase-gk.111
- Add support for Community-Supported packages. The overall design is as follows:
- Add a new category, "Community Supported". For discussion, we'll refer to SMCategorizableObjects having this category as, #isCommunitySupported.
- Add this new category to all Packages whose members have departed the community.
- Change the server so that, when saving a package-release, if it is a new package release and the Package isCommunitySupported, then allow the release to be added by any user-account instead of only the package owner.
- That new PackageRelease is saved with the "Community Supported" category so it, too, may be updated by anyone.
- Legacy PackageReleases for that Package cannot be updated, because they will not be isCommunitySupported.
=============== Diff against SMBase-gk.109 ===============
Item was changed:
----- Method: SMAccount>>newFile:block: (in category 'files') -----
newFile: fileName block: aBlock
"Create a new file. Let <aBlock> fill the file with content by calling it with a stream."
+ | dir stream |
- | dir |
dir := self uploadsDirectory.
+ [(dir fileExists: fileName) ifTrue:[dir deleteFileNamed: fileName].
+ stream := dir newFileNamed: fileName.
+ stream binary.
+ aBlock value: stream] ensure: [stream close]!
- (dir fileExists: fileName) ifTrue:[dir deleteFileNamed: fileName].
- dir newFileNamed: fileName do: [:stream |
- stream binary.
- aBlock value: stream]!
Item was added:
+ ----- Method: SMCategorizableObject>>beCommunitySupported (in category 'testing') -----
+ beCommunitySupported
+ self addCategory: (self map categoryWithNameBeginning: 'Community Supported')!
Item was added:
+ ----- Method: SMCategorizableObject>>isCommunitySupported (in category 'testing') -----
+ isCommunitySupported
+ | csCat |
+ csCat := self categories detect: [ : each | each name = 'Community Supported' ] ifNone: [ nil ].
+ ^ csCat notNil!
Item was changed:
----- Method: SMMaintainableObject>>rss: (in category 'maintainers') -----
rss: anUrl
+ anUrl = 'nil'
+ ifTrue: [rss := nil]
+ ifFalse: [rss := anUrl]!
- rss := anUrl!
Item was changed:
----- Method: SMPackageRelease>>initializeFromRelease:package: (in category 'initialize-release') -----
initializeFromRelease: parentRelease package: aPackage
"Initialize package release from a given parent.
Branch if needed."
self map: aPackage map id: UUID new.
package := aPackage.
+ aPackage isCommunitySupported ifTrue: [ self beCommunitySupported ].
automaticVersion :=
parentRelease
ifNil: [VersionNumber first]
ifNotNil: [parentRelease nextOrBranch].
version := note := downloadUrl := ''!
Item was changed:
----- Method: SMSqueakMap>>saveCheckpoint: (in category 'checkpoints') -----
saveCheckpoint: contentWithFilename
"Save the map checkpoint to disk if it is not there already."
+ | file directory sz fname content |
- | directory sz fname content |
directory := self directory.
sz := contentWithFilename size.
fname := contentWithFilename last: sz - (contentWithFilename lastIndexOf: $:).
content := contentWithFilename first: sz - fname size - 1.
(directory fileExists: fname) ifFalse: [
+ [file := StandardFileStream newFileNamed: (directory fullNameFor: fname).
+ file nextPutAll: content]
+ ensure: [file close]]!
- StandardFileStream newFileNamed: (directory fullNameFor: fname) do: [ :file |
- file nextPutAll: content ] ]!
Chris Muller uploaded a new version of SMBase to project The Trunk:
http://source.squeak.org/trunk/SMBase-cmm.112.mcz
==================== Summary ====================
Name: SMBase-cmm.112
Author: cmm
Time: 5 February 2011, 3:02:46 pm
UUID: 05f36b19-1b85-4cff-846a-93a8aa099f74
Ancestors: SMBase-gk.111
- Add support for Community-Supported packages. The overall design is as follows:
- Add a new category, "Community Supported". For discussion, we'll refer to SMCategorizableObjects having this category as, #isCommunitySupported.
- Add this new category to all Packages whose members have departed the community.
- Change the server so that, when saving a package-release, if it is a new package release and the Package isCommunitySupported, then allow the release to be added by any user-account instead of only the package owner.
- That new PackageRelease is saved with the "Community Supported" category so it, too, may be updated by anyone.
- Legacy PackageReleases for that Package cannot be updated, because they will not be isCommunitySupported.
=============== Diff against SMBase-gk.109 ===============
Item was changed:
----- Method: SMAccount>>newFile:block: (in category 'files') -----
newFile: fileName block: aBlock
"Create a new file. Let <aBlock> fill the file with content by calling it with a stream."
+ | dir stream |
- | dir |
dir := self uploadsDirectory.
+ [(dir fileExists: fileName) ifTrue:[dir deleteFileNamed: fileName].
+ stream := dir newFileNamed: fileName.
+ stream binary.
+ aBlock value: stream] ensure: [stream close]!
- (dir fileExists: fileName) ifTrue:[dir deleteFileNamed: fileName].
- dir newFileNamed: fileName do: [:stream |
- stream binary.
- aBlock value: stream]!
Item was added:
+ ----- Method: SMCategorizableObject>>beCommunitySupported (in category 'testing') -----
+ beCommunitySupported
+ self addCategory: (self map categoryWithNameBeginning: 'Community Supported')!
Item was added:
+ ----- Method: SMCategorizableObject>>isCommunitySupported (in category 'testing') -----
+ isCommunitySupported
+ | csCat |
+ csCat := self categories detect: [ : each | each name = 'Community Supported' ] ifNone: [ nil ].
+ ^ csCat notNil!
Item was changed:
----- Method: SMMaintainableObject>>rss: (in category 'maintainers') -----
rss: anUrl
+ anUrl = 'nil'
+ ifTrue: [rss := nil]
+ ifFalse: [rss := anUrl]!
- rss := anUrl!
Item was changed:
----- Method: SMPackageRelease>>initializeFromRelease:package: (in category 'initialize-release') -----
initializeFromRelease: parentRelease package: aPackage
"Initialize package release from a given parent.
Branch if needed."
self map: aPackage map id: UUID new.
package := aPackage.
+ aPackage isCommunitySupported ifTrue: [ self beCommunitySupported ].
automaticVersion :=
parentRelease
ifNil: [VersionNumber first]
ifNotNil: [parentRelease nextOrBranch].
version := note := downloadUrl := ''!
Item was changed:
----- Method: SMSqueakMap>>saveCheckpoint: (in category 'checkpoints') -----
saveCheckpoint: contentWithFilename
"Save the map checkpoint to disk if it is not there already."
+ | file directory sz fname content |
- | directory sz fname content |
directory := self directory.
sz := contentWithFilename size.
fname := contentWithFilename last: sz - (contentWithFilename lastIndexOf: $:).
content := contentWithFilename first: sz - fname size - 1.
(directory fileExists: fname) ifFalse: [
+ [file := StandardFileStream newFileNamed: (directory fullNameFor: fname).
+ file nextPutAll: content]
+ ensure: [file close]]!
- StandardFileStream newFileNamed: (directory fullNameFor: fname) do: [ :file |
- file nextPutAll: content ] ]!
Chris Muller uploaded a new version of SMBase to project The Trunk:
http://source.squeak.org/trunk/SMBase-cmm.112.mcz
==================== Summary ====================
Name: SMBase-cmm.112
Author: cmm
Time: 5 February 2011, 3:02:46 pm
UUID: 05f36b19-1b85-4cff-846a-93a8aa099f74
Ancestors: SMBase-gk.111
- Add support for Community-Supported packages. The overall design is as follows:
- Add a new category, "Community Supported". For discussion, we'll refer to SMCategorizableObjects having this category as, #isCommunitySupported.
- Add this new category to all Packages whose members have departed the community.
- Change the server so that, when saving a package-release, if it is a new package release and the Package isCommunitySupported, then allow the release to be added by any user-account instead of only the package owner.
- That new PackageRelease is saved with the "Community Supported" category so it, too, may be updated by anyone.
- Legacy PackageReleases for that Package cannot be updated, because they will not be isCommunitySupported.
=============== Diff against SMBase-gk.109 ===============
Item was changed:
----- Method: SMAccount>>newFile:block: (in category 'files') -----
newFile: fileName block: aBlock
"Create a new file. Let <aBlock> fill the file with content by calling it with a stream."
+ | dir stream |
- | dir |
dir := self uploadsDirectory.
+ [(dir fileExists: fileName) ifTrue:[dir deleteFileNamed: fileName].
+ stream := dir newFileNamed: fileName.
+ stream binary.
+ aBlock value: stream] ensure: [stream close]!
- (dir fileExists: fileName) ifTrue:[dir deleteFileNamed: fileName].
- dir newFileNamed: fileName do: [:stream |
- stream binary.
- aBlock value: stream]!
Item was added:
+ ----- Method: SMCategorizableObject>>beCommunitySupported (in category 'testing') -----
+ beCommunitySupported
+ self addCategory: (self map categoryWithNameBeginning: 'Community Supported')!
Item was added:
+ ----- Method: SMCategorizableObject>>isCommunitySupported (in category 'testing') -----
+ isCommunitySupported
+ | csCat |
+ csCat := self categories detect: [ : each | each name = 'Community Supported' ] ifNone: [ nil ].
+ ^ csCat notNil!
Item was changed:
----- Method: SMMaintainableObject>>rss: (in category 'maintainers') -----
rss: anUrl
+ anUrl = 'nil'
+ ifTrue: [rss := nil]
+ ifFalse: [rss := anUrl]!
- rss := anUrl!
Item was changed:
----- Method: SMPackageRelease>>initializeFromRelease:package: (in category 'initialize-release') -----
initializeFromRelease: parentRelease package: aPackage
"Initialize package release from a given parent.
Branch if needed."
self map: aPackage map id: UUID new.
package := aPackage.
+ aPackage isCommunitySupported ifTrue: [ self beCommunitySupported ].
automaticVersion :=
parentRelease
ifNil: [VersionNumber first]
ifNotNil: [parentRelease nextOrBranch].
version := note := downloadUrl := ''!
Item was changed:
----- Method: SMSqueakMap>>saveCheckpoint: (in category 'checkpoints') -----
saveCheckpoint: contentWithFilename
"Save the map checkpoint to disk if it is not there already."
+ | file directory sz fname content |
- | directory sz fname content |
directory := self directory.
sz := contentWithFilename size.
fname := contentWithFilename last: sz - (contentWithFilename lastIndexOf: $:).
content := contentWithFilename first: sz - fname size - 1.
(directory fileExists: fname) ifFalse: [
+ [file := StandardFileStream newFileNamed: (directory fullNameFor: fname).
+ file nextPutAll: content]
+ ensure: [file close]]!
- StandardFileStream newFileNamed: (directory fullNameFor: fname) do: [ :file |
- file nextPutAll: content ] ]!
Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.385.mcz
==================== Summary ====================
Name: Tools-ul.385
Author: ul
Time: 2 November 2011, 2:50:23.039 am
UUID: eeefc6ae-1848-774d-a96d-0fe6634c94b9
Ancestors: Tools-eem.384
Implemented TimeProfileBrowser >> #isModeStyleable which disallows styling when the selected line is not a method. This is a fix for http://bugs.squeak.org/view.php?id=7675 .
=============== Diff against Tools-eem.384 ===============
Item was added:
+ ----- Method: TimeProfileBrowser>>isModeStyleable (in category 'contents') -----
+ isModeStyleable
+ "Ensure that only methods are styled."
+
+ ^self selectedMessageName notNil and: [ super isModeStyleable ]!
Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.385.mcz
==================== Summary ====================
Name: Tools-ul.385
Author: ul
Time: 2 November 2011, 2:50:23.039 am
UUID: eeefc6ae-1848-774d-a96d-0fe6634c94b9
Ancestors: Tools-eem.384
Implemented TimeProfileBrowser >> #isModeStyleable which disallows styling when the selected line is not a method. This is a fix for http://bugs.squeak.org/view.php?id=7675 .
=============== Diff against Tools-eem.384 ===============
Item was added:
+ ----- Method: TimeProfileBrowser>>isModeStyleable (in category 'contents') -----
+ isModeStyleable
+ "Ensure that only methods are styled."
+
+ ^self selectedMessageName notNil and: [ super isModeStyleable ]!
Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.385.mcz
==================== Summary ====================
Name: Tools-ul.385
Author: ul
Time: 2 November 2011, 2:50:23.039 am
UUID: eeefc6ae-1848-774d-a96d-0fe6634c94b9
Ancestors: Tools-eem.384
Implemented TimeProfileBrowser >> #isModeStyleable which disallows styling when the selected line is not a method. This is a fix for http://bugs.squeak.org/view.php?id=7675 .
=============== Diff against Tools-eem.384 ===============
Item was added:
+ ----- Method: TimeProfileBrowser>>isModeStyleable (in category 'contents') -----
+ isModeStyleable
+ "Ensure that only methods are styled."
+
+ ^self selectedMessageName notNil and: [ super isModeStyleable ]!
Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.460.mcz
==================== Summary ====================
Name: System-eem.460
Author: eem
Time: 4 November 2011, 9:24:41.847 am
UUID: 8a0828f0-10ab-47fa-b913-702447f13375
Ancestors: System-laza.459
Refactor SystemNavigation>>browseAllStoresInto:from: to
provide SystemNavigation>>allStoresInto:from:.
=============== Diff against System-laza.459 ===============
Item was changed:
----- Method: SystemNavigation>>allAccessesTo:from: (in category 'query') -----
allAccessesTo: instVarName from: aClass
+ "Return a sequence of MethodReferences of all methods of aClass or it's sub/superclass that refer to the instance variable instVarName."
- "Return a collection of all methods of aClass or it's sub/superclass that refer to the instance variable instVarName."
| result |
result := OrderedCollection new.
+ aClass withAllSubAndSuperclassesDo:
+ [ :class |
+ (class whichSelectorsAccess: instVarName) do:
+ [ :selector |
- aClass withAllSubAndSuperclassesDo: [ :class |
- (class whichSelectorsAccess: instVarName) do: [ :selector |
result add: (MethodReference class: class selector: selector) ] ].
^result!
Item was added:
+ ----- Method: SystemNavigation>>allStoresInto:from: (in category 'query') -----
+ allStoresInto: varName from: aClass
+ "Answer a sequence of MewthodReferences for all the receiver's methods
+ or any methods of a subclass/superclass that assign to the instance variable name."
+ "self new allStoresInto: 'contents' from: Collection."
+ | result |
+ result := OrderedCollection new.
+ aClass withAllSubAndSuperclassesDo:
+ [ : class |
+ (class whichMethodsStoreInto: varName) do:
+ [ : eachMethod |
+ result add: eachMethod methodReference ] ].
+ ^result!
Item was changed:
----- Method: SystemNavigation>>browseAllStoresInto:from: (in category 'browse') -----
+ browseAllStoresInto: varName from: aClass
- browseAllStoresInto: varName from: aClass
"Create and schedule a Message Set browser for all the receiver's methods
or any methods of a subclass/superclass that refer to the instance variable name."
"self new browseAllStoresInto: 'contents' from: Collection."
- | coll |
- coll := OrderedCollection new.
- Cursor wait showWhile:
- [ aClass withAllSubAndSuperclassesDo:
- [ : class | (class whichMethodsStoreInto: varName) do:
- [ : eachMethod | eachMethod selector isDoIt ifFalse: [ coll add: eachMethod methodReference ] ] ] ].
^ self
+ browseMessageList: (self allStoresInto: varName from: aClass)
- browseMessageList: coll
name: 'Stores into ' , varName
autoSelect: varName!