<div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:large">Hi Christoph,<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 28, 2020 at 3:37 PM <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color: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-ct.1358.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/inbox/Kernel-ct.1358.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Kernel-ct.1358<br>
Author: ct<br>
Time: 28 October 2020, 11:37:24.817544 pm<br>
UUID: c9af6acb-61cf-af42-b5fa-3afa8451bb24<br>
Ancestors: Kernel-mt.1353<br>
<br>
Fixes a simulation bug that occurs when executing ProtoObject >> #doesNotUnderstand:. See KernelTests-ct.388.<br>
<br>
=============== Diff against Kernel-mt.1353 ===============<br>
<br>
Item was changed:<br>
  ----- Method: Context>>send:to:with:lookupIn: (in category 'controlling') -----<br>
  send: selector to: rcvr with: arguments lookupIn: lookupClass<br>
        "Simulate the action of sending a message with selector and arguments<br>
         to rcvr. The argument, lookupClass, is the class in which to lookup the<br>
         message.  This is the receiver's class for normal messages, but for super<br>
         messages it will be some specific class related to the source method."<br>
<br>
        | meth primIndex val ctxt |<br>
        (meth := lookupClass lookupSelector: selector) ifNil:<br>
+               [selector == #doesNotUnderstand: ifTrue:<br>
+                       [self error: ('Simulated message {1} not understood' translated format: {selector})].<br>
+               ^self send: #doesNotUnderstand:<br>
-               [^self send: #doesNotUnderstand:<br>
                                to: rcvr<br>
                                with: {(Message selector: selector arguments: arguments) lookupClass: lookupClass}<br>
                                lookupIn: lookupClass].<br>
        meth numArgs ~= arguments size ifTrue:<br>
                [^self error: 'Wrong number of arguments in simulated message ', selector printString].<br>
        (primIndex := meth primitive) > 0 ifTrue:<br>
                [val := self doPrimitive: primIndex method: meth receiver: rcvr args: arguments.<br>
                 (self isPrimFailToken: val) ifFalse:<br>
                        [^val]].<br>
-       (selector == #doesNotUnderstand: and: [lookupClass == ProtoObject]) ifTrue:<br>
-               [^self error: 'Simulated message ', arguments first selector, ' not understood'].<br>
        ctxt := Context sender: self receiver: rcvr method: meth arguments: arguments.<br>
        primIndex > 0 ifTrue:<br>
                [ctxt failPrimitiveWith: val].<br>
        ^ctxt!<br></blockquote><div><br></div><div class="gmail_default" style="font-size:large">I think the error should be</div><div class="gmail_default" style="font-size:large"></div><div class="gmail_default" style="font-size:large"><span style="color:rgb(0,0,0);font-family:-webkit-standard;font-size:medium">self error: ('Recursive message not-understood {1}' translated format: {selector})</span><br></div></div><div><br></div><div dir="ltr" class="gmail_signature"><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>