Marcel Taeumel uploaded a new version of 60Deprecated to project The Trunk:
http://source.squeak.org/trunk/60Deprecated-mt.38.mcz
==================== Summary ====================
Name: 60Deprecated-mt.38
Author: mt
Time: 12 July 2019, 8:39:34.417612 am
UUID: f25adf3c-1f60-5749-aada-72ceed6de84c
Ancestors: 60Deprecated-mt.37
Complements Collections-mt.840.
=============== Diff against 60Deprecated-mt.37 ===============
Item was added:
+ ----- Method: Symbol class>>internCharacter: (in category '*60Deprecated-instance creation') -----
+ internCharacter: aCharacter
+
+ self deprecated: 'Use #intern: instead. There is no special table for one-character symbols anymore'.
+ ^ self intern: aCharacter asString!
Marcel Taeumel uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-mt.840.mcz
==================== Summary ====================
Name: Collections-mt.840
Author: mt
Time: 12 July 2019, 8:38:57.127612 am
UUID: aa463bb4-e73d-cf40-b565-c8f87687be06
Ancestors: Collections-mt.839
Removes last traces of special treatment for one-character symbols.
See http://forum.world.st/Symbol-gt-OneCharacterSymbols-td5101085.html
=============== Diff against Collections-mt.839 ===============
Item was changed:
----- Method: Character>>asSymbol (in category 'converting') -----
asSymbol
"Answer a Symbol consisting of the receiver as the only element."
+ ^Symbol intern: self asString!
- ^Symbol internCharacter: self!
Item was changed:
String subclass: #Symbol
instanceVariableNames: ''
+ classVariableNames: 'NewSymbols SymbolTable'
- classVariableNames: 'NewSymbols OneCharacterSymbols SymbolTable'
poolDictionaries: ''
category: 'Collections-Strings'!
!Symbol commentStamp: '<historical>' prior: 0!
I represent Strings that are created uniquely. Thus, someString asSymbol == someString asSymbol.!
Item was removed:
- ----- Method: Symbol class>>internCharacter: (in category 'instance creation') -----
- internCharacter: aCharacter
- ^self intern: aCharacter asString!
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1069.mcz
==================== Summary ====================
Name: System-mt.1069
Author: mt
Time: 11 July 2019, 9:21:36.166354 am
UUID: 27227430-c08f-3c47-b9fd-b646e7f948b6
Ancestors: System-mt.1068
Fixes minor regression in suggestedTypeNames. That is. 'someMorphThing' should also yield 'MorphThing', not just 'Morph' and 'Thing'.
=============== Diff against System-mt.1068 ===============
Item was changed:
----- Method: String>>suggestedTypeNames (in category '*system') -----
suggestedTypeNames
^ Array streamContents: [:stream |
self findFeatureIndicesDo: [:start :end |
(self at: start) isUppercase ifTrue: [
stream nextPut: (self copyFrom: start to: end).
+ end ~= self size ifTrue: [
+ stream nextPut: (self copyFrom: start to: self size) withBlanksTrimmed].
"Often, argument names that refer to Collections end in the letter s, which can cause the suggested type-name to not be found. Account for this."
(self at: end) = $s ifTrue: [
stream nextPut: (self copyFrom: start to: end -1)]]]].!
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1068.mcz
==================== Summary ====================
Name: System-mt.1068
Author: mt
Time: 11 July 2019, 8:46:30.024838 am
UUID: e2fe883c-8353-bf4d-8921-ba296fa973bb
Ancestors: System-cmm.1067
Use new find-features feature to implement #suggestedTypeNames.
=============== Diff against System-cmm.1067 ===============
Item was changed:
----- Method: String>>suggestedTypeNames (in category '*system') -----
suggestedTypeNames
+
+ ^ Array streamContents: [:stream |
+ self findFeatureIndicesDo: [:start :end |
+ (self at: start) isUppercase ifTrue: [
+ stream nextPut: (self copyFrom: start to: end).
+ "Often, argument names that refer to Collections end in the letter s, which can cause the suggested type-name to not be found. Account for this."
+ (self at: end) = $s ifTrue: [
+ stream nextPut: (self copyFrom: start to: end -1)]]]].!
- ^ Array streamContents:
- [ : stream |
- self withIndexDo:
- [ : eachChar : index |
- eachChar isUppercase ifTrue:
- [ stream nextPut:
- (self
- copyFrom: index
- to: self size) withBlanksTrimmed.
- "Often, argument names that refer to Collections end in the letter s, which can cause the suggested type-name to not be found. Account for this."
- self last = $s
- ifTrue:
- [ stream nextPut:
- (self
- copyFrom: index
- to: self size-1) withBlanksTrimmed ] ] ] ]!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1491.mcz
==================== Summary ====================
Name: Morphic-mt.1491
Author: mt
Time: 11 July 2019, 7:43:26.133838 am
UUID: 8e7d61cb-067a-d145-a86e-3484bfb38617
Ancestors: Morphic-cmfcmf.1490
Replaces one use of Symbol class >> #lookup: with the more common (i.e., more senders) idiom Symbol class >> #hasInterned:ifTrue:.
=============== Diff against Morphic-cmfcmf.1490 ===============
Item was changed:
----- Method: SearchBar>>smartSearch:in: (in category 'searching') -----
smartSearch: text in: morph
"Take the user input and perform an appropriate search"
| input newContents |
self removeResultsWidget.
input := text asString ifEmpty:[^self].
self class useSmartSearch ifFalse: [^ ToolSet default browseMessageNames: input].
"If it is a global or a full class name, browse that class."
(Smalltalk bindingOf: input) ifNotNil:[:assoc| | global |
global := assoc value.
^ToolSet browse: (global isBehavior ifTrue:[global] ifFalse:[global class]) selector: nil].
"If it is a symbol and there are implementors of it, browse those implementors."
+ Symbol hasInterned: input ifTrue: [:selector |
- (Symbol lookup: input) ifNotNil: [:selector |
(SystemNavigation new allImplementorsOf: selector) ifNotEmpty:[:list|
^SystemNavigation new
browseMessageList: list
name: 'Implementors of ' , input]].
"If it starts uppercase, browse classes if any. Otherwise, just search for messages."
input first isUppercase
ifTrue: [
(UIManager default classFromPattern: input withCaption: '')
ifNotNil:[:aClass| ^ToolSet browse: aClass selector: nil]
ifNil: [
newContents := input, ' -- not found.'.
self searchTerm: newContents.
self selection: (input size+1 to: newContents size).
self currentHand newKeyboardFocus: morph textMorph.
^ self]]
ifFalse: [
ToolSet default browseMessageNames: input].!