[squeak-dev] The Trunk: Collections-cmm.531.mcz

Chris Muller asqueaker at gmail.com
Fri Sep 6 21:53:41 UTC 2013


Doh!  Fixed.

On Fri, Sep 6, 2013 at 2:40 PM, Nicolas Cellier
<nicolas.cellier.aka.nice at gmail.com> wrote:
> ASCII between 0 and 127 rather than 128 ?
>
>
> 2013/9/6 <commits at source.squeak.org>
>
>> Chris Muller uploaded a new version of Collections to project The Trunk:
>> http://source.squeak.org/trunk/Collections-cmm.531.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Collections-cmm.531
>> Author: cmm
>> Time: 6 September 2013, 2:26:33.695 pm
>> UUID: da0031c2-e1d3-4f49-a425-9808728e3f1a
>> Ancestors: Collections-ul.530
>>
>> - Remove redundant isVariableBinding override.
>> - Characters can now be tested for isAscii.
>> - Dictionary's and Set's made proxy-friendly.
>> - Remove redundant isLiteral override.
>> - Allow #asMutator to work for getter or setter selectors.
>>
>> =============== Diff against Collections-ul.530 ===============
>>
>> Item was removed:
>> - ----- Method: Association>>isVariableBinding (in category 'testing')
>> -----
>> - isVariableBinding
>> -       "Return true if I represent a literal variable binding"
>> -       ^true!
>>
>> Item was added:
>> + ----- Method: Character>>isAscii (in category 'testing') -----
>> + isAscii
>> +       ^ value between: 0 and: 128!
>>
>> Item was changed:
>>   ----- Method: Dictionary>>keysSortedSafely (in category 'accessing')
>> -----
>>   keysSortedSafely
>>         "Answer a sorted Array containing the receiver's keys."
>> +       ^ self keys sort:
>> +               [ : x : y | x compareSafely: y ]!
>> -
>> -        ^self keys sort: [ :x :y |
>> -               "Should really be use <obj, string, num> compareSafely..."
>> -               ((x isString and: [ y isString ])
>> -                       or: [ x isNumber and: [ y isNumber ] ])
>> -                       ifTrue: [ x < y ]
>> -                       ifFalse: [ x class == y class
>> -                               ifTrue: [ x printString < y printString ]
>> -                               ifFalse: [ x class name < y class name ] ]
>> ].
>> - !
>>
>> Item was changed:
>>   ----- Method: Dictionary>>scanFor: (in category 'private') -----
>>   scanFor: anObject
>>         "Scan the key array for the first slot containing either a nil
>> (indicating an empty slot) or an element that matches anObject. Answer the
>> index of that slot or raise an error if no slot is found. This method will
>> be overridden in various subclasses that have different interpretations for
>> matching elements."
>>
>>         | index start |
>>         index := start := anObject hash \\ array size + 1.
>>         [
>>                 | element |
>> +               ((element := array at: index) == nil or: [ anObject =
>> element key ])
>> -               ((element := array at: index) == nil or: [ element key =
>> anObject ])
>>                         ifTrue: [ ^index ].
>>                 (index := index \\ array size + 1) = start ] whileFalse.
>>         self errorNoFreeSpace!
>>
>> Item was added:
>> + ----- Method: Number>>compareSafely: (in category '*collections') -----
>> + compareSafely: aNumber
>> +       "Override method to compare the receiver with aNumber to determine
>> its position in a human-readable list without unnecessarily agitating
>> proxies."
>> +       ^ self < aNumber!
>>
>> Item was added:
>> + ----- Method: Object>>compareSafely: (in category '*collections') -----
>> + compareSafely: anObject
>> +       "Compare the receiver to anObject to determine its position in a
>> human-readable list without unnecessarily agitating proxies."
>> +       ^ self class = anObject class
>> +               ifTrue: [ self printString < anObject printString ]
>> +               ifFalse: [ self class name < anObject class name ]!
>>
>> Item was changed:
>>   ----- Method: Set>>scanFor: (in category 'private') -----
>>   scanFor: anObject
>>         "Scan the key array for the first slot containing either a nil
>> (indicating an empty slot) or an element that matches anObject. Answer the
>> index of that slot or raise an error if no slot is found. This method will
>> be overridden in various subclasses that have different interpretations for
>> matching elements."
>>
>>         | index start |
>>         index := start := anObject hash \\ array size + 1.
>>         [
>>                 | element |
>> +               ((element := array at: index) == nil or: [ anObject =
>> element enclosedSetElement ])
>> -               ((element := array at: index) == nil or: [ element
>> enclosedSetElement = anObject ])
>>                         ifTrue: [ ^index ].
>>                 (index := index \\ array size + 1) = start ] whileFalse.
>>         self errorNoFreeSpace!
>>
>> Item was added:
>> + ----- Method: String>>asAscii (in category 'converting') -----
>> + asAscii
>> +       ^ self select: [ : each | each isAscii ]!
>>
>> Item was added:
>> + ----- Method: String>>compareSafely: (in category '*collections') -----
>> + compareSafely: aString
>> +       "Compare the receiver to aString in a way that will not agitate
>> proxies."
>> +       ^ self < aString!
>>
>> Item was changed:
>> + ----- Method: String>>isLiteral (in category 'testing') -----
>> - ----- Method: String>>isLiteral (in category 'printing') -----
>>   isLiteral
>> +       "Answer whether the receiver is a valid Smalltalk literal."
>>
>> +       ^ true!
>> -       ^true!
>>
>> Item was changed:
>>   ----- Method: Symbol>>asMutator (in category 'converting') -----
>>   asMutator
>> +       "Return a setter message from a getter message. For example, #name
>> asMutator returns #name:"
>> +       ^ self last = $:
>> +               ifTrue: [ self ]
>> +               ifFalse: [ (self copyWith: $:) asSymbol ]!
>> -       "Return a setter message from a getter message. For example,
>> -       #name asMutator returns #name:"
>> -       ^ (self copyWith: $:) asSymbol!
>>
>> Item was removed:
>> - ----- Method: Symbol>>isLiteral (in category 'testing') -----
>> - isLiteral
>> -       "Answer whether the receiver is a valid Smalltalk literal."
>> -
>> -       ^ true!
>>
>> Item was added:
>> + ----- Method: Symbol>>veryDeepCopy (in category 'copying') -----
>> + veryDeepCopy
>> +       "Overridden for performance."
>> +       ^ self!
>>
>>
>
>
>
>


More information about the Squeak-dev mailing list