The Trunk: System-ct.1133.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-ct.1133.mcz

commits-2
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ct.1133.mcz

==================== Summary ====================

Name: System-ct.1133
Author: ct
Time: 3 February 2020, 11:55:06.856675 pm
UUID: bd5c789a-39d3-574b-aa2a-0f900b3a8009
Ancestors: System-cmm.1131

Fix execution-around pattern to forward return value in some during methods

So that
        Utilities useAuthorName: 'Squeak' during: [Utilities authorName]
yields
        'Squeak'
but not
        Utilities.

=============== Diff against System-cmm.1131 ===============

Item was changed:
  ----- Method: Preferences class>>setFlag:toValue:during: (in category 'get/set - flags') -----
  setFlag: prefSymbol toValue: aBoolean during: aBlock
  "Set the flag to the given value for the duration of aBlock"
 
  (self valueOfFlag: prefSymbol) in: [:previous |
  self setFlag: prefSymbol toValue: aBoolean.
+ ^ aBlock ensure: [self setFlag: prefSymbol toValue: previous]].!
- aBlock ensure: [self setFlag: prefSymbol toValue: previous]].!

Item was changed:
  ----- Method: Preferences class>>setPreference:toValue:during: (in category 'get/set') -----
  setPreference: prefSymbol toValue: anObject during: aBlock
 
  (self valueOfPreference: prefSymbol) in: [:previous |
  self setPreference: prefSymbol toValue: anObject.
+ ^ aBlock ensure: [self setPreference: prefSymbol toValue: previous]]!
- aBlock ensure: [self setPreference: prefSymbol toValue: previous]].!

Item was changed:
  ----- Method: Utilities class>>useAuthorInitials:during: (in category 'identification') -----
  useAuthorInitials: temporaryAuthorInitials during: aBlock
 
  | originalAuthorInitials |
  originalAuthorInitials := AuthorInitials.
+ [ AuthorInitials := temporaryAuthorInitials.
+ ^ aBlock value ]
- [
- AuthorInitials := temporaryAuthorInitials.
- aBlock value ]
  ensure: [ AuthorInitials := originalAuthorInitials ]
  !

Item was changed:
  ----- Method: Utilities class>>useAuthorName:during: (in category 'identification') -----
  useAuthorName: temporaryAuthorName during: aBlock
 
  | originalAuthorName |
  originalAuthorName := AuthorName.
+ [ AuthorName := temporaryAuthorName.
+ ^ aBlock value ]
- [
- AuthorName := temporaryAuthorName.
- aBlock value ]
  ensure: [ AuthorName := originalAuthorName ]
  !


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: System-ct.1133.mcz

Levente Uzonyi
It would be nice if #in: was not used when a temporary variable does the
job.
And all those returns from inside the blocks can be avoided by returning
what the block would return (see example below if not clear).


Levente

On Wed, 4 Nov 2020, [hidden email] wrote:

> Marcel Taeumel uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-ct.1133.mcz
>
> ==================== Summary ====================
>
> Name: System-ct.1133
> Author: ct
> Time: 3 February 2020, 11:55:06.856675 pm
> UUID: bd5c789a-39d3-574b-aa2a-0f900b3a8009
> Ancestors: System-cmm.1131
>
> Fix execution-around pattern to forward return value in some during methods
>
> So that
> Utilities useAuthorName: 'Squeak' during: [Utilities authorName]
> yields
> 'Squeak'
> but not
> Utilities.
>
> =============== Diff against System-cmm.1131 ===============
>
> Item was changed:
>  ----- Method: Preferences class>>setFlag:toValue:during: (in category 'get/set - flags') -----
>  setFlag: prefSymbol toValue: aBoolean during: aBlock
>   "Set the flag to the given value for the duration of aBlock"
>
>   (self valueOfFlag: prefSymbol) in: [:previous |
>   self setFlag: prefSymbol toValue: aBoolean.
> + ^ aBlock ensure: [self setFlag: prefSymbol toValue: previous]].!
> - aBlock ensure: [self setFlag: prefSymbol toValue: previous]].!
>
> Item was changed:
>  ----- Method: Preferences class>>setPreference:toValue:during: (in category 'get/set') -----
>  setPreference: prefSymbol toValue: anObject during: aBlock
>
>   (self valueOfPreference: prefSymbol) in: [:previous |
>   self setPreference: prefSymbol toValue: anObject.
> + ^ aBlock ensure: [self setPreference: prefSymbol toValue: previous]]!
> - aBlock ensure: [self setPreference: prefSymbol toValue: previous]].!
>
> Item was changed:
>  ----- Method: Utilities class>>useAuthorInitials:during: (in category 'identification') -----
>  useAuthorInitials: temporaryAuthorInitials during: aBlock
>
>   | originalAuthorInitials |
>   originalAuthorInitials := AuthorInitials.
> + [ AuthorInitials := temporaryAuthorInitials.
> + ^ aBlock value ]

  ^[ AuthorName := temporaryAuthorName.
  aBlock value ]

> - [
> - AuthorInitials := temporaryAuthorInitials.
> - aBlock value ]
>   ensure: [ AuthorInitials := originalAuthorInitials ]
>   !
>
> Item was changed:
>  ----- Method: Utilities class>>useAuthorName:during: (in category 'identification') -----
>  useAuthorName: temporaryAuthorName during: aBlock
>
>   | originalAuthorName |
>   originalAuthorName := AuthorName.
> + [ AuthorName := temporaryAuthorName.
> + ^ aBlock value ]
> - [
> - AuthorName := temporaryAuthorName.
> - aBlock value ]
>   ensure: [ AuthorName := originalAuthorName ]
>   !

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: System-ct.1133.mcz

marcel.taeumel
Hi Levente,

thanks for the suggestion. I just tried to follow it in System-mt.1188.

Best,
Marcel

Am 04.11.2020 11:33:21 schrieb Levente Uzonyi <[hidden email]>:

It would be nice if #in: was not used when a temporary variable does the
job.
And all those returns from inside the blocks can be avoided by returning
what the block would return (see example below if not clear).


Levente

On Wed, 4 Nov 2020, [hidden email] wrote:

> Marcel Taeumel uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-ct.1133.mcz
>
> ==================== Summary ====================
>
> Name: System-ct.1133
> Author: ct
> Time: 3 February 2020, 11:55:06.856675 pm
> UUID: bd5c789a-39d3-574b-aa2a-0f900b3a8009
> Ancestors: System-cmm.1131
>
> Fix execution-around pattern to forward return value in some during methods
>
> So that
> Utilities useAuthorName: 'Squeak' during: [Utilities authorName]
> yields
> 'Squeak'
> but not
> Utilities.
>
> =============== Diff against System-cmm.1131 ===============
>
> Item was changed:
> ----- Method: Preferences class>>setFlag:toValue:during: (in category 'get/set - flags') -----
> setFlag: prefSymbol toValue: aBoolean during: aBlock
> "Set the flag to the given value for the duration of aBlock"
>
> (self valueOfFlag: prefSymbol) in: [:previous |
> self setFlag: prefSymbol toValue: aBoolean.
> + ^ aBlock ensure: [self setFlag: prefSymbol toValue: previous]].!
> - aBlock ensure: [self setFlag: prefSymbol toValue: previous]].!
>
> Item was changed:
> ----- Method: Preferences class>>setPreference:toValue:during: (in category 'get/set') -----
> setPreference: prefSymbol toValue: anObject during: aBlock
>
> (self valueOfPreference: prefSymbol) in: [:previous |
> self setPreference: prefSymbol toValue: anObject.
> + ^ aBlock ensure: [self setPreference: prefSymbol toValue: previous]]!
> - aBlock ensure: [self setPreference: prefSymbol toValue: previous]].!
>
> Item was changed:
> ----- Method: Utilities class>>useAuthorInitials:during: (in category 'identification') -----
> useAuthorInitials: temporaryAuthorInitials during: aBlock
>
> | originalAuthorInitials |
> originalAuthorInitials := AuthorInitials.
> + [ AuthorInitials := temporaryAuthorInitials.
> + ^ aBlock value ]

^[ AuthorName := temporaryAuthorName.
aBlock value ]

> - [
> - AuthorInitials := temporaryAuthorInitials.
> - aBlock value ]
> ensure: [ AuthorInitials := originalAuthorInitials ]
> !
>
> Item was changed:
> ----- Method: Utilities class>>useAuthorName:during: (in category 'identification') -----
> useAuthorName: temporaryAuthorName during: aBlock
>
> | originalAuthorName |
> originalAuthorName := AuthorName.
> + [ AuthorName := temporaryAuthorName.
> + ^ aBlock value ]
> - [
> - AuthorName := temporaryAuthorName.
> - aBlock value ]
> ensure: [ AuthorName := originalAuthorName ]
> !