Nicolas Cellier 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 ]
!