I have no idea what went wrong here. The ancestry looks correct to me. Here is the correct diff generated with Squeak Inbox Talk:<br>
<br>
<b>==================== Summary ====================</b><br>
<br>
Name: Compiler-ct.480<br>
Author: ct<br>
Time: 9 September 2022, 2:48:27.444614 pm<br>
UUID: 03d9ed0c-8807-be4a-89bf-891d9f639f09<br>
Ancestors: Compiler-eem.479<br>
<br>
Attempts to fix a GC issue while creating an Undeclared variable. Hold a strong reference on the newly created association until it has been stored as a global.<br>
<br>
Note: This change makes the assumption that undeclared is not a SystemDictionary, which overrides #at:put:. However, I cannot explain why AttemptToWriteReadOnlyGlobal is handled in this place, no idea how this code could touch any ClassBindings ...<br>
<br>
Please review.<br>
<br>
<b>=============== Diff against Compiler-eem.479 ===============</b><br>
<br>
<b>Encoder>>undeclared: {encoding} · ct 9/9/2022 14:35 (changed)</b><br>
undeclared: name <br>
    | sym |<br>
    (requestor notNil and: [requestor interactive]) ifTrue:<br>
        [ requestor requestor == #error: ifTrue: [ requestor error: 'Undeclared' ].<br>
        ^ self notify: 'Undeclared' ].<br>
    "Allow knowlegeable clients to squash the undeclared warning if they want (e.g.<br>
     Diffing pretty printers that are simply formatting text).  As this breaks<br>
     compilation it should only be used by clients that want to discard the result<br>
     of the compilation.  To squash the warning use e.g.<br>
        [Compiler format: code in: class notifying: nil decorated: false]<br>
            on: UndeclaredVariableNotification<br>
            do: [:ex| ex resume: false]"<br>
    sym := name asSymbol.<br>
    ^ (UndeclaredVariableNotification new<br>
        name: name<br>
        selector: selector<br>
        class: cue getClass) signal<br>
        ifTrue:<br>
<s><font color="#0000FF">-             [ | undeclared |<br>
</font></s><font color="#FF0000">+             [ | undeclared assoc |<br>
</font>            undeclared := cue environment undeclared.<br>
<s><font color="#0000FF">-             [ undeclared<br>
-                 at: sym<br>
-                 put: nil ]<br>
</font></s><font color="#FF0000">+             assoc := [ undeclared add: (undeclared associationClass key: sym value: nil) ]<br>
</font>                on: AttemptToWriteReadOnlyGlobal<br>
                do: [ : noti | noti resume: true ].<br>
            self<br>
<s><font color="#0000FF">-                 global: (undeclared associationAt: sym)<br>
</font></s><font color="#FF0000">+                 global: assoc<br>
</font>                name: sym ]<br>
        ifFalse:<br>
            [ self<br>
                global: (Association key: sym)<br>
                name: sym ]<br>
<br>
Best,<br>
Christoph<br>
<br>
<font color="#808080">---<br>
</font><font color="#808080"><i>Sent from </i></font><font color="#808080"><i><a href="https://github.com/hpi-swa-lab/squeak-inbox-talk"><u><font color="#808080">Squeak Inbox Talk</font></u></a></i></font><br>
<br>
On 2022-09-13T07:34:25-07:00, eliot.miranda@gmail.com wrote:<br>
<br>
> The below shows that code diffing is broken for Inbox.  Instead of showing the difference in the commit the below appears to list the entire Compiler package starting with AssignmentNode.<br>
> <br>
> _,,,^..^,,,_ (phone)