Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.1053.mcz
==================== Summary ====================
Name: Collections-ul.1053
Author: ul
Time: 7 October 2023, 10:26:41.0275 am
UUID: 4eddffe9-ef92-4f02-bc1f-9dc9178f1fd2
Ancestors: Collections-eem.1052
- properly deprecate SequenceableCollection>>copyWithoutFirst
- make sort functions copyable (copy their hierachy as well)
=============== Diff against Collections-eem.1052 ===============
Item was added:
+ ----- Method: ChainedSortFunction>>postCopy (in category 'as yet unclassified') -----
+ postCopy
+
+ super postCopy.
+ nextFunction := nextFunction copy!
Item was added:
+ ----- Method: ComposedSortFunction>>postCopy (in category 'as yet unclassified') -----
+ postCopy
+
+ super postCopy.
+ baseSortFunction := baseSortFunction copy!
Item was removed:
- ----- Method: SequenceableCollection>>copyWithoutFirst (in category 'copying') -----
- copyWithoutFirst
- "Deprecatd. Return a copy of the receiver which doesn't include
- the first element."
-
- ^ self allButFirst!
Levente Uzonyi uploaded a new version of 61Deprecated to project The Trunk:
http://source.squeak.org/trunk/61Deprecated-ul.9.mcz
==================== Summary ====================
Name: 61Deprecated-ul.9
Author: ul
Time: 7 October 2023, 10:24:59.594858 am
UUID: 3c66b9d7-8caa-4690-9b66-641a5eef3c84
Ancestors: 61Deprecated-dtl.8
Properly deprecate SequenceableCollection>>copyWithoutFirst.
=============== Diff against 61Deprecated-dtl.8 ===============
Item was added:
+ ----- Method: SequenceableCollection>>copyWithoutFirst (in category '*61Deprecated-Collections') -----
+ copyWithoutFirst
+ "Return a copy of the receiver which doesn't include the first element."
+
+ self deprecated: 'Use allButFirst'.
+ ^ self allButFirst!
Levente Uzonyi uploaded a new version of Files to project The Trunk:
http://source.squeak.org/trunk/Files-ul.206.mcz
==================== Summary ====================
Name: Files-ul.206
Author: ul
Time: 7 October 2023, 10:14:37.49644 am
UUID: 3ca897b4-8216-419c-b2be-6ff628652a9e
Ancestors: Files-mt.205
Use #allButFirst instead of #copyWithoutFirst.
=============== Diff against Files-mt.205 ===============
Item was changed:
----- Method: FileDirectory class>>makeRelative: (in category 'platform specific') -----
makeRelative: path
"Ensure that path looks like an relative path"
^path first = self pathNameDelimiter
+ ifTrue: [ path allButFirst ]
- ifTrue: [ path copyWithoutFirst ]
ifFalse: [ path ]!
Item was changed:
----- Method: MacFileDirectory class>>makeAbsolute: (in category 'platform specific') -----
makeAbsolute: path
"Ensure that path looks like an absolute path"
| absolutePath |
(self isAbsolute: path)
ifTrue: [ ^path ].
"If a path begins with a colon, it is relative."
absolutePath := (path first = $:)
+ ifTrue: [ path allButFirst ]
- ifTrue: [ path copyWithoutFirst ]
ifFalse: [ path ].
(self isAbsolute: absolutePath)
ifTrue: [ ^absolutePath ].
"Otherwise, if it contains a colon anywhere, it is absolute and the first component is the volume name."
^absolutePath, ':'!
Levente Uzonyi uploaded a new version of PreferenceBrowser to project The Trunk:
http://source.squeak.org/trunk/PreferenceBrowser-ul.158.mcz
==================== Summary ====================
Name: PreferenceBrowser-ul.158
Author: ul
Time: 7 October 2023, 10:13:39.956188 am
UUID: 0b7046af-cbb0-43db-9fd9-f20f58898033
Ancestors: PreferenceBrowser-mt.157
Use #allButFirst instead of #copyWithoutFirst.
=============== Diff against PreferenceBrowser-mt.157 ===============
Item was changed:
----- Method: PBPreferenceButtonMorph>>removeExtraControls (in category 'extra controls') -----
removeExtraControls
+ self submorphs allButFirst do: [:ea | ea delete]!
- self submorphs copyWithoutFirst do: [:ea | ea delete]!
Levente Uzonyi uploaded a new version of Traits to project The Trunk:
http://source.squeak.org/trunk/Traits-ul.314.mcz
==================== Summary ====================
Name: Traits-ul.314
Author: ul
Time: 7 October 2023, 10:10:32.815801 am
UUID: 96584240-d311-4b11-b124-d11cb42936e7
Ancestors: Traits-eem.313
In SequenceableCollection>>asTraitComposition, use #reduce: instead of a combination of #copyWithoutFirst, #first and #inject:into:.
=============== Diff against Traits-eem.313 ===============
Item was changed:
----- Method: SequenceableCollection>>asTraitComposition (in category '*Traits') -----
asTraitComposition
"For convenience the composition {T1. T2 ...} is the same as T1 + T2 + ..."
^self isEmpty
ifFalse: [
self size = 1
ifTrue: [self first asTraitComposition]
+ ifFalse: [self reduce: [:left :right | left + right]]]
- ifFalse: [
- self copyWithoutFirst
- inject: self first
- into: [:left :right | left + right]]]
ifTrue: [ClassDescription newTraitComposition]!
Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.1235.mcz
==================== Summary ====================
Name: Tools-mt.1235
Author: mt
Time: 5 October 2023, 10:28:11.042807 am
UUID: 81a8a9b8-417d-9245-827e-0dbb0449c568
Ancestors: Tools-mt.1234
In TreeBrowser, fixes performance issue with "-- all --" class/system category.
=============== Diff against Tools-mt.1234 ===============
Item was changed:
----- Method: TreeBrowser>>allClassesInCategory (in category 'class tree - support') -----
allClassesInCategory
"Answer a list of all class objects in the selected system category."
self hasSystemCategorySelected ifFalse: [^ #()].
+ self isShowingAllClasses ifTrue: [^ #() "See #classChildren:. No support for #updateTreesIfNeeded."].
self isHierarchy ifTrue: [^ self allClassesForHierarchy].
^ self class showAllClassesInPackage
ifFalse: [self defaultClassList
collect: [:className | self environment classNamed: className]
thenSelect: [:classOrNil | classOrNil notNil "guard environment"]]
ifTrue: [PackageOrganizer default
packageNamed: selectedSystemCategory
ifPresent: [:pkg | pkg classes]
ifAbsent: [self defaultClassList
collect: [:className | self environment classNamed: className]
thenSelect: [:classOrNil | classOrNil notNil "guard environment"]]]!
Item was changed:
----- Method: TreeBrowser>>allClassesInCategoryAndOther (in category 'class tree - support') -----
allClassesInCategoryAndOther
"Like #allClassesInCategory, but adds missing inner classes for a complete-looking inheritance tree."
| allClasses roots more |
+ extraClasses := #().
+
self hasSystemCategorySelected ifFalse: [^ #()].
+ self isShowingAllClasses ifTrue: [^ #() "See #classChildren:. No support for #updateTreesIfNeeded."].
self isHierarchy ifTrue: [^ self allClassesForHierarchy].
+
-
allClasses := self allClassesInCategory.
roots := self classRootsFrom: allClasses. "See #classRoots for the widget callback"
more := Set new. "Which inner classes to add?"
roots do: [:inner | roots do: [:outer | (inner inheritsFrom: outer)
ifTrue: [ | addMore |
addMore := true.
inner allSuperclassesDo: [:missing |
(addMore := addMore and: [missing ~~ outer])
ifTrue: [more add: missing] ]] ]].
self flag: #ugly. "mt: This is an unexpected side effect and clashes with how #updateTreesIfNeeded works... yet, it does not send a superfluous changed event to the view..."
extraClasses := more asArray.
^ more ifEmpty: [allClasses] ifNotEmpty: [allClasses, more asArray]!