<div dir="ltr">
<div class="gmail_default" style="font-size:large">This works:<br></div><div class="gmail_default" style="font-size:large">Class>>binding</div><span class="gmail-im"><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">      </span>"Answer a binding for the receiver, sharing if possible"</div></span><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">        </span>(Smalltalk globals bindingOf: name ifAbsent: nil) ifNotNil:</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">            </span>[:bindingOrNil|</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">                </span>bindingOrNil value == self ifTrue:</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">                     </span>[^bindingOrNil]].</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">      </span>^ClassBinding key: nil value: self</div>

</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 16, 2020 at 6:54 PM karl ramberg <<a href="mailto:karlramberg@gmail.com">karlramberg@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I tested this change.<br></div><div>I get a DNU for 'bindingOf: ifAbsent:' because 'self environment' evaluates to Smalltalk here.</div><div><br></div><div>Best,</div><div>Karl<br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 16, 2020 at 12:01 AM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:large">Hi Karl,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 14, 2020 at 10:48 PM <<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">A new version of Kernel was added to project The Inbox:<br>
<a href="http://source.squeak.org/inbox/Kernel-kfr.1339.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/inbox/Kernel-kfr.1339.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Kernel-kfr.1339<br>
Author: kfr<br>
Time: 15 September 2020, 7:48:44.907977 am<br>
UUID: 9e1761d0-c2a1-b74a-bfe7-90dd49e320f1<br>
Ancestors: Kernel-ct.1338<br>
<br>
Fix a deprecation warning<br>
<br>
=============== Diff against Kernel-ct.1338 ===============<br>
<br>
Item was changed:<br>
  ----- Method: Class>>binding (in category 'compiling') -----<br>
  binding<br>
        "Answer a binding for the receiver, sharing if possible"<br>
        | binding |<br>
+       binding := Smalltalk globals associationAt: name ifAbsent: [nil -> self].<br>
-       binding := self environment associationAt: name ifAbsent: [nil -> self].<br>
        ^binding value == self ifTrue:[binding] ifFalse:[nil -> self].!<br></blockquote><div><br></div><div class="gmail_default" style="font-size:large">See Environment>>associationAt: aSymbol ifAbsent: aBlock</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">     </span>"Senders of this should probably be using #bindingOf:"</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">       </span></div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">       </span>self flag: #review.</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">    </span>^ declarations associationAt: aSymbol ifAbsent: aBlock</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">So let me suggest</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">Class>>binding</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">    </span>"Answer a binding for the receiver, sharing if possible"</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">     </span>(self environment bindingOf: name ifAbsent: nil) ifNotNil:</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">             </span>[:bindingOrNil|</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">                </span>bindingOrNil value == self ifTrue:</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">                     </span>[^bindingOrNil]].</div><div class="gmail_default" style="font-size:large"><span style="white-space:pre-wrap">      </span>^ClassBinding key: nil value: self</div></div><br clear="all"><div><div class="gmail_default" style="font-size:large">and then gradually all those anonymous Associations in class methods will disappear :-)</div><br></div><div dir="ltr"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div></div></div>
<br>
</blockquote></div>
</blockquote></div>