Marcel Taeumel uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-ct.1295.mcz
==================== Summary ====================
Name: Kernel-ct.1295 Author: ct Time: 24 January 2020, 5:20:51.814415 pm UUID: 18ea3b5d-ee42-2944-9d01-aa48e43207a7 Ancestors: Kernel-nice.1292
Extends BlockClosure >> #whileNil: by returning the final non-nil value. Adds #whileNil analogous to #whileTrue and #whileFalse.
[Project uiManager chooseFrom: #(foo bar) values: #(Foo Bar)] whileNil.
[Project uiManager chooseFrom: #(foo bar) values: #(Foo Bar)] whileNil: [self inform: 'You have to decide!']
=============== Diff against Kernel-nice.1292 ===============
Item was added: + ----- Method: BlockClosure>>whileNil (in category 'controlling') ----- + whileNil + "Unlike #whileTrue/False this is not compiled inline." + | result | + [(result := self value) isNil] whileTrue. + ^ result + !
Item was changed: ----- Method: BlockClosure>>whileNil: (in category 'controlling') ----- whileNil: aBlock "Unlike #whileTrue/False: this is not compiled inline." + | result | + [(result := self value) isNil] whileTrue: [aBlock value]. + ^ result - ^ [self value isNil] whileTrue: [aBlock value] !
packages@lists.squeakfoundation.org