[squeak-dev] The Trunk: System-ct.1133.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Wed Nov 4 10:51:12 UTC 2020


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 <leves at caesar.elte.hu>:
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, commits at source.squeak.org 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 ]
> !

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20201104/06478ae9/attachment.html>


More information about the Squeak-dev mailing list