Alright, please take a short look at the attached changeset. :-)<br>
<br>
Note: In the *long* term, we probably should unify this exception with UndeclaredVariable, which is a subclass of ParserNotification. But after the release. :-)<br>
<br>
Provided no objections, I will merge this in a few days ...<br>
<br>
Best,<br>
Christoph<br>
<br>
<b>=============== Diff ===============</b><br>
<br>
<b>Encoder>>undeclared: {encoding} · ct 1/30/2022 21:40 (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>
<s><font color="#0000FF">-             on: UndeclaredVariableWarning<br>
</font></s><font color="#FF0000">+             on: UndeclaredVariableNotification<br>
</font>            do: [:ex| ex resume: false]"<br>
    sym := name asSymbol.<br>
<s><font color="#0000FF">-     ^ (UndeclaredVariableWarning new<br>
</font></s><font color="#FF0000">+     ^ (UndeclaredVariableNotification new<br>
</font>        name: name<br>
        selector: selector<br>
        class: cue getClass) signal<br>
        ifTrue:<br>
            [ | undeclared |<br>
            undeclared := cue environment undeclared.<br>
            [ undeclared<br>
                at: sym<br>
                put: nil ]<br>
                on: AttemptToWriteReadOnlyGlobal<br>
                do: [ : noti | noti resume: true ].<br>
            self<br>
                global: (undeclared associationAt: sym)<br>
                name: sym ]<br>
        ifFalse:<br>
            [ self<br>
                global: (Association key: sym)<br>
                name: sym ]<br>
<br>
<b>UndeclaredVariableNotification</b><br>
<font color="#FF0000">+ Notification subclass: #UndeclaredVariableNotification<br>
+     instanceVariableNames: 'name selector class'<br>
+     classVariableNames: ''<br>
+     poolDictionaries: ''<br>
+     category: 'Compiler-Support'<br>
+ <br>
+ UndeclaredVariableNotification class <br>
+     instanceVariableNames: ''<br>
+ <br>
+ ""</font><br>
<br>
<b>UndeclaredVariableNotification</b><br>
<font color="#FF0000">+ Notification subclass: #UndeclaredVariableNotification<br>
+     instanceVariableNames: 'name selector class'<br>
+     classVariableNames: ''<br>
+     poolDictionaries: ''<br>
+     category: 'Compiler-Support'<br>
+ <br>
+ UndeclaredVariableNotification class <br>
+     instanceVariableNames: ''<br>
+ <br>
+ ""</font><br>
<br>
<b>UndeclaredVariableWarning (changed)</b><br>
<s><font color="#0000FF">- Warning subclass: #UndeclaredVariableWarning<br>
-     instanceVariableNames: 'name selector class'<br>
</font></s><font color="#FF0000">+ UndeclaredVariableNotification subclass: #UndeclaredVariableWarning<br>
+     instanceVariableNames: ''<br>
</font>    classVariableNames: ''<br>
    poolDictionaries: ''<br>
<s><font color="#0000FF">-     category: 'Compiler-Support'<br>
</font></s><font color="#FF0000">+     category: '60Deprecated-Compiler-Support'<br>
</font><br>
UndeclaredVariableWarning class <br>
    instanceVariableNames: ''<br>
<br>
""<br>
<br>
<b>UndeclaredVariableWarning class>>handles: {exceptionSelector} · ct 1/30/2022 21:46</b><br>
<font color="#FF0000">+ handles: exception<br>
+ <br>
+     self deprecated: 'ct: Use UndeclaredVariableNotification instead'.<br>
+     <br>
+     ^ super handles: exception</font><br>
<br>
<b>UndeclaredVariableWarning>>initialize {initialize-release} · ct 1/30/2022 21:46</b><br>
<font color="#FF0000">+ initialize<br>
+ <br>
+     self deprecated: 'ct: Use UndeclaredVariableNotification instead'.<br>
+     <br>
+     ^ super initialize</font><br>
<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-01-30T00:44:33+01:00, christoph.thiede@student.hpi.uni-potsdam.de wrote:<br>
<br>
> Thank you for the feedback! Now I'm wondering whether we should also rename it when making it a simple notification. An exception that ends in Warning but does not inherit from Warning might be very confusing. On other hand, compatibility matters ... What do you think? :-)<br>
> <br>
> Best,<br>
> Christoph<br>
> <br>
> ---<br>
> Sent from Squeak Inbox Talk<br>
> <br>
> On 2022-01-20T09:22:08+01:00, marcel.taeumel at hpi.de wrote:<br>
> <br>
> > Hi Christoph --<br>
> > <br>
> > Looking at?UndeclaredVariableWarning >> #defaultAction, that warning should actually be a simple notification (that also writes to the Transcript).<br>
> > <br>
> > Best,<br>
> > Marcel<br>
> > Am 20.01.2022 01:31:50 schrieb christoph.thiede at student.hpi.uni-potsdam.de <christoph.thiede at student.hpi.uni-potsdam.de>:<br>
> > Hi all,<br>
> > <br>
> > since SUnit-ct.129 (treat warnings in tests as test error), we have plenty failing compiler tests. I have also noticed similar effects in some third-party packages because no one would have assumed that a simple compilation request that has no visible side effect to the user (except for a Transcript send, but who is having a transcript open all the time? me not!) could be raising a Warning. UndeclaredVariableWarning is an untypical subclass of Warning because in its default action, it does not do anything interruptive.<br>
> > <br>
> > So my question is: Do you assure that UndeclaredVariableWarning should be Warning? In this case I will move on and handle this exception in all affected tests.<br>
> > <br>
> > Best,<br>
> > Christoph<br>
> > <br>
> > ---<br>
> > Sent from Squeak Inbox Talk [https://github.com/hpi-swa-lab/squeak-inbox-talk]<br>
> > -------------- next part --------------<br>
> > An HTML attachment was scrubbed...<br>
> > URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220120/4a4ee785/attachment.html><br>
> > <br>
> > <br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220130/ada64a21/attachment.html><br>
> <br>