[squeak-dev] The Inbox: System-cmm.497.mcz

Frank Shearar frank.shearar at gmail.com
Sat Jun 29 20:58:50 UTC 2013


I would love to see this resuscitated!

frank

On 15 September 2012 17:33, Chris Muller <asqueaker at gmail.com> wrote:
> Ok.
>
> On Fri, Sep 14, 2012 at 11:06 PM, Levente Uzonyi <leves at elte.hu> wrote:
>> Two things about the implementation:
>> - using #isOctetCharacter is not good enough. When I wrote ascii, I meant
>> the 7-bit US-ASCII characters. For example $á is both #isOctetCharacter and
>> #isAlphaNumeric, but I don't think it should appear in a method's timestamp.
>> - some methods have Smalltalk123 as author
>>
>>
>> Levente
>>
>>
>> On Fri, 14 Sep 2012, commits at source.squeak.org wrote:
>>
>>> A new version of System was added to project The Inbox:
>>> http://source.squeak.org/inbox/System-cmm.497.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: System-cmm.497
>>> Author: cmm
>>> Time: 14 September 2012, 3:14:45.552 pm
>>> UUID: d55d42e9-1782-4cdd-a0d0-253bf60940f5
>>> Ancestors: System-ul.496
>>>
>>> Updates for the Author proposal:
>>>
>>>         - Completely separate the model from the UI.  Author should be a
>>> "pure domain object."  The PerSe methods are no longer needed.
>>>
>>>         - Instead, let Utilities class take responsibility for employing
>>> Squeak UI-elements to set the current Author attributes, as well as for
>>> being the "convenient" way to access these attributes.
>>>
>>>         - Since we are reifying an Author from a String, it is now treated
>>> as a whole Author object, rather than just a String-holder.  Allow multiple
>>> Author instances to exist and the #current Author can be swapped out with
>>> another Author instance.
>>>
>>> =============== Diff against System-ul.496 ===============
>>>
>>> Item was removed:
>>> - ----- Method: Author class>>changeStamp (in category 'convenience')
>>> -----
>>> - changeStamp
>>> -
>>> -       ^self current changeStamp!
>>>
>>> Item was removed:
>>> - ----- Method: Author class>>changeStampPerSe (in category 'convenience')
>>> -----
>>> - changeStampPerSe
>>> -
>>> -       ^self current changeStampPerSe!
>>>
>>> Item was changed:
>>>  ----- Method: Author class>>current (in category 'instance creation')
>>> -----
>>>  current
>>> +       ^ instance ifNil:
>>> +               [ self current: self new.
>>> +               instance ]!
>>> -
>>> -       ^instance ifNil: [ instance := super new ]!
>>>
>>> Item was added:
>>> + ----- Method: Author class>>current: (in category 'class
>>> initialization') -----
>>> + current: anAuthor
>>> +       instance := anAuthor!
>>>
>>> Item was changed:
>>>  ----- Method: Author class>>fullNamePerSe (in category 'pharo
>>> compatibility') -----
>>>  fullNamePerSe
>>> +       ^ self current initials!
>>> -
>>> -       ^self initialsPerSe!
>>>
>>> Item was removed:
>>> - ----- Method: Author class>>initials (in category 'convenience') -----
>>> - initials
>>> -
>>> -       ^self current initials!
>>>
>>> Item was removed:
>>> - ----- Method: Author class>>initialsPerSe (in category 'convenience')
>>> -----
>>> - initialsPerSe
>>> -
>>> -       ^self current initialsPerSe!
>>>
>>> Item was removed:
>>> - ----- Method: Author class>>new (in category 'instance creation') -----
>>> - new
>>> -
>>> -       self error: 'Use #current'!
>>>
>>> Item was changed:
>>>  ----- Method: Author class>>reset (in category 'instance creation') -----
>>>  reset
>>> +       self current: nil!
>>> -
>>> -       instance := nil!
>>>
>>> Item was changed:
>>>  ----- Method: Author class>>useAuthor:during: (in category 'pharo
>>> compatibility') -----
>>> + useAuthor: aString during: aBlock
>>> +       ^ self current
>>> +               useInitials: aString
>>> +               during: aBlock!
>>> - useAuthor: aString during: aBlock
>>> -
>>> -       ^self useInitials: aString during: aBlock!
>>>
>>> Item was removed:
>>> - ----- Method: Author class>>useInitials:during: (in category
>>> 'convenience') -----
>>> - useInitials: aString during: aBlock
>>> -
>>> -       ^self current useInitials: aString during: aBlock!
>>>
>>> Item was removed:
>>> - ----- Method: Author class>>username (in category 'convenience') -----
>>> - username
>>> -
>>> -       ^self current username!
>>>
>>> Item was removed:
>>> - ----- Method: Author class>>usernamePerSe (in category 'convenience')
>>> -----
>>> - usernamePerSe
>>> -
>>> -       ^self current usernamePerSe!
>>>
>>> Item was changed:
>>>  ----- Method: Author>>changeStamp (in category 'accessing') -----
>>>  changeStamp
>>> +       ^ self changeStampWithInitials: (self initials ifEmpty: [
>>> 'unknown' ])!
>>> -
>>> -       ^self changeStampWithInitials: self initials!
>>>
>>> Item was removed:
>>> - ----- Method: Author>>changeStampPerSe (in category 'accessing') -----
>>> - changeStampPerSe
>>> -
>>> -       ^self changeStampWithInitials: (self initialsPerSe ifEmpty: [ '.'
>>> ])!
>>>
>>> Item was changed:
>>>  ----- Method: Author>>fullName (in category 'pharo compatibility') -----
>>>  fullName
>>> +       ^ self initials!
>>> -
>>> -       ^self initials!
>>>
>>> Item was removed:
>>> - ----- Method: Author>>fullNamePerSe (in category 'pharo compatibility')
>>> -----
>>> - fullNamePerSe
>>> -
>>> -       ^self initialsPerSe!
>>>
>>> Item was changed:
>>>  ----- Method: Author>>initialize (in category 'initialize-release') -----
>>>  initialize
>>> -
>>>         super initialize.
>>> +       initials := username := String empty!
>>> -       initials := String new.
>>> -       username := String new
>>> -       !
>>>
>>> Item was changed:
>>>  ----- Method: Author>>initials (in category 'accessing') -----
>>>  initials
>>> +       ^ initials!
>>> -
>>> -       ^initials ifEmpty: [ self requestAndSetInitials ]!
>>>
>>> Item was removed:
>>> - ----- Method: Author>>initialsPerSe (in category 'accessing') -----
>>> - initialsPerSe
>>> -
>>> -       ^initials!
>>>
>>> Item was removed:
>>> - ----- Method: Author>>requestAndSetInitials (in category 'accessing')
>>> -----
>>> - requestAndSetInitials
>>> -
>>> -       ^initials := (UIManager default
>>> -               request: 'Please type your initials: ' translated
>>> -               initialAnswer: initials) select: [ :each |
>>> -                       #(
>>> -                               ($A $Z)
>>> -                               ($a $z)
>>> -                               ($0 $9)) anySatisfy: [ :range |
>>> -                                       each between: range first and:
>>> range second ] ]!
>>>
>>> Item was removed:
>>> - ----- Method: Author>>requestAndSetUsername (in category 'accessing')
>>> -----
>>> - requestAndSetUsername
>>> -
>>> -       ^username := UIManager default
>>> -               request: 'Please type your name:' translated
>>> -               initialAnswer: (username
>>> -                       ifEmpty: [ 'Your Name' translated ]
>>> -                       ifNotEmpty: [ username ])!
>>>
>>> Item was changed:
>>>  ----- Method: Author>>username (in category 'accessing') -----
>>>  username
>>> +       ^ username!
>>> -
>>> -       ^username ifEmpty: [ self requestAndSetUsername ]!
>>>
>>> Item was removed:
>>> - ----- Method: Author>>usernamePerSe (in category 'accessing') -----
>>> - usernamePerSe
>>> -
>>> -       ^username!
>>>
>>> Item was changed:
>>>  ----- Method: SpaceTally>>spaceTally: (in category 'class analysis')
>>> -----
>>> + spaceTally: classes
>>> - spaceTally: classes
>>>         "Answer a collection of SpaceTallyItems representing the memory
>>> space (in bytes) consumed       by the code and instances of each class in
>>> the system. Note that code sizes do not currently    report memory consumed
>>> by class variables. "
>>> -
>>>         "((SpaceTally new spaceTally: (Array with: TextMorph with: Point))
>>> asSortedCollection: [:a :b | a spaceForInstances > b spaceForInstances])
>>> asArray"
>>> -
>>>         self preAllocateResultsFor: classes.
>>>         Smalltalk garbageCollect.
>>>         self computeSpaceUsage.
>>>         ^ results
>>> +                sort: [ : a : b | a spaceForInstances > b
>>> spaceForInstances ] ;
>>> +                yourself!
>>> - !
>>>
>>> Item was changed:
>>>  ----- Method: Utilities class>>authorInitials (in category
>>> 'identification') -----
>>>  authorInitials
>>> +       "Answer the initials to be used to identify the current code
>>> author."
>>> +       ^ self authorInitialsPerSe ifEmpty:
>>> +               [ self
>>> +                        setAuthorInitials ;
>>> +                        authorInitialsPerSe ]!
>>> -       "Answer the initials to be used to identify the current code
>>> author.  "
>>> -
>>> -       ^Author initials!
>>>
>>> Item was changed:
>>>  ----- Method: Utilities class>>authorInitialsPerSe (in category
>>> 'identification') -----
>>>  authorInitialsPerSe
>>> +       ^ Author current initials!
>>> -       "Answer the currently-prevailing author initials, such as they,
>>> empty or not"
>>> -
>>> -       ^Author initialsPerSe!
>>>
>>> Item was changed:
>>>  ----- Method: Utilities class>>authorName (in category 'identification')
>>> -----
>>>  authorName
>>> +       ^ self authorNamePerSe ifEmpty:
>>> +               [ self
>>> +                        setAuthorName ;
>>> +                        authorNamePerSe ]!
>>> -
>>> -       ^Author username!
>>>
>>> Item was changed:
>>>  ----- Method: Utilities class>>authorNamePerSe (in category
>>> 'identification') -----
>>>  authorNamePerSe
>>> +       ^ Author current username!
>>> -
>>> -       ^Author usernamePerSe!
>>>
>>> Item was changed:
>>>  ----- Method: Utilities class>>changeStamp (in category 'identification')
>>> -----
>>> + changeStamp
>>> +       ^ Author current changeStampWithInitials: self authorInitials!
>>> - changeStamp
>>> -
>>> -       ^Author changeStamp!
>>>
>>> Item was changed:
>>>  ----- Method: Utilities class>>changeStampPerSe (in category
>>> 'identification') -----
>>>  changeStampPerSe
>>> +       ^ Author current changeStamp!
>>> -
>>> -       ^Author changeStampPerSe!
>>>
>>> Item was changed:
>>>  ----- Method: Utilities class>>setAuthorInitials (in category
>>> 'identification') -----
>>>  setAuthorInitials
>>>         "Put up a dialog allowing the user to specify the author's
>>> initials.  "
>>> +       | oldInitials |
>>> +       oldInitials := Author current initials.
>>> +       Author reset.
>>> +       Author current initials:
>>> +               ((UIManager default
>>> +                       request: 'Please type your initials: ' translated
>>> +                       initialAnswer: oldInitials) select: [ : each |
>>> each isOctetCharacter and: [ each isAlphaNumeric ] ])!
>>> -
>>> -       ^Author current requestAndSetInitials!
>>>
>>> Item was changed:
>>>  ----- Method: Utilities class>>setAuthorName (in category
>>> 'identification') -----
>>>  setAuthorName
>>> +       Author current username:
>>> +               (UIManager default
>>> +                       request: 'Please type your name:' translated
>>> +                       initialAnswer: (Author current username ifEmpty: [
>>> 'Your Name' translated ]))!
>>> -
>>> -       Author requestAndSetUsername!
>>>
>>>
>>
>>
>>
>


More information about the Squeak-dev mailing list