<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
Hi Levente,<div><br></div><div>thanks for the suggestion. I just tried to follow it in System-mt.1188.</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class='history_container' type='cite' style='border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;'>
<p style='color: #AAAAAA; margin-top: 10px;'>Am 04.11.2020 11:33:21 schrieb Levente Uzonyi <leves@caesar.elte.hu>:</p><div style='font-family:Arial,Helvetica,sans-serif'>It would be nice if #in: was not used when a temporary variable does the <br>job.<br>And all those returns from inside the blocks can be avoided by returning <br>what the block would return (see example below if not clear).<br><br><br>Levente<br><br>On Wed, 4 Nov 2020, commits@source.squeak.org wrote:<br><br>> Marcel Taeumel uploaded a new version of System to project The Trunk:<br>> http://source.squeak.org/trunk/System-ct.1133.mcz<br>><br>> ==================== Summary ====================<br>><br>> Name: System-ct.1133<br>> Author: ct<br>> Time: 3 February 2020, 11:55:06.856675 pm<br>> UUID: bd5c789a-39d3-574b-aa2a-0f900b3a8009<br>> Ancestors: System-cmm.1131<br>><br>> Fix execution-around pattern to forward return value in some during methods<br>><br>> So that<br>> Utilities useAuthorName: 'Squeak' during: [Utilities authorName]<br>> yields<br>> 'Squeak'<br>> but not<br>> Utilities.<br>><br>> =============== Diff against System-cmm.1131 ===============<br>><br>> Item was changed:<br>> ----- Method: Preferences class>>setFlag:toValue:during: (in category 'get/set - flags') -----<br>> setFlag: prefSymbol toValue: aBoolean during: aBlock<br>> "Set the flag to the given value for the duration of aBlock"<br>><br>> (self valueOfFlag: prefSymbol) in: [:previous |<br>> self setFlag: prefSymbol toValue: aBoolean.<br>> + ^ aBlock ensure: [self setFlag: prefSymbol toValue: previous]].!<br>> - aBlock ensure: [self setFlag: prefSymbol toValue: previous]].!<br>><br>> Item was changed:<br>> ----- Method: Preferences class>>setPreference:toValue:during: (in category 'get/set') -----<br>> setPreference: prefSymbol toValue: anObject during: aBlock<br>><br>> (self valueOfPreference: prefSymbol) in: [:previous |<br>> self setPreference: prefSymbol toValue: anObject.<br>> + ^ aBlock ensure: [self setPreference: prefSymbol toValue: previous]]!<br>> - aBlock ensure: [self setPreference: prefSymbol toValue: previous]].!<br>><br>> Item was changed:<br>> ----- Method: Utilities class>>useAuthorInitials:during: (in category 'identification') -----<br>> useAuthorInitials: temporaryAuthorInitials during: aBlock<br>><br>> | originalAuthorInitials |<br>> originalAuthorInitials := AuthorInitials.<br>> + [ AuthorInitials := temporaryAuthorInitials.<br>> + ^ aBlock value ]<br><br> ^[ AuthorName := temporaryAuthorName.<br> aBlock value ]<br><br>> - [ <br>> - AuthorInitials := temporaryAuthorInitials.<br>> - aBlock value ]<br>> ensure: [ AuthorInitials := originalAuthorInitials ]<br>> !<br>><br>> Item was changed:<br>> ----- Method: Utilities class>>useAuthorName:during: (in category 'identification') -----<br>> useAuthorName: temporaryAuthorName during: aBlock<br>><br>> | originalAuthorName |<br>> originalAuthorName := AuthorName.<br>> + [ AuthorName := temporaryAuthorName.<br>> + ^ aBlock value ]<br>> - [ <br>> - AuthorName := temporaryAuthorName.<br>> - aBlock value ]<br>> ensure: [ AuthorName := originalAuthorName ]<br>> !<br><br></div></blockquote>
</div></body>