Thank you for the (off-list) feedback, Marcel! I have merged UndeclaredVariableNotification.1.cs to the Trunk via Compiler-ct.468/60Deprecated-ct.104/update-ct.506.mcm. :-)<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-01-30T21:56:59+01:00, christoph.thiede@student.hpi.uni-potsdam.de wrote:<br>
<br>
> 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>
> =============== Diff ===============<br>
> <br>
> Encoder>>undeclared: {encoding} ? ct 1/30/2022 21:40 (changed)<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: UndeclaredVariableWarning<br>
> +             on: UndeclaredVariableNotification<br>
>             do: [:ex| ex resume: false]"<br>
>     sym := name asSymbol.<br>
> -     ^ (UndeclaredVariableWarning new<br>
> +     ^ (UndeclaredVariableNotification new<br>
>         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>
> UndeclaredVariableNotification<br>
> + Notification subclass: #UndeclaredVariableNotification<br>
> +     instanceVariableNames: 'name selector class'<br>
> +     classVariableNames: ''<br>
> +     poolDictionaries: ''<br>
> +     category: 'Compiler-Support'<br>
> + <br>
> + UndeclaredVariableNotification class <br>
> +     instanceVariableNames: ''<br>
> + <br>
> + ""<br>
> <br>
> UndeclaredVariableNotification<br>
> + Notification subclass: #UndeclaredVariableNotification<br>
> +     instanceVariableNames: 'name selector class'<br>
> +     classVariableNames: ''<br>
> +     poolDictionaries: ''<br>
> +     category: 'Compiler-Support'<br>
> + <br>
> + UndeclaredVariableNotification class <br>
> +     instanceVariableNames: ''<br>
> + <br>
> + ""<br>
> <br>
> UndeclaredVariableWarning (changed)<br>
> - Warning subclass: #UndeclaredVariableWarning<br>
> -     instanceVariableNames: 'name selector class'<br>
> + UndeclaredVariableNotification subclass: #UndeclaredVariableWarning<br>
> +     instanceVariableNames: ''<br>
>     classVariableNames: ''<br>
>     poolDictionaries: ''<br>
> -     category: 'Compiler-Support'<br>
> +     category: '60Deprecated-Compiler-Support'<br>
> <br>
> UndeclaredVariableWarning class <br>
>     instanceVariableNames: ''<br>
> <br>
> ""<br>
> <br>
> UndeclaredVariableWarning class>>handles: {exceptionSelector} ? ct 1/30/2022 21:46<br>
> + handles: exception<br>
> + <br>
> +     self deprecated: 'ct: Use UndeclaredVariableNotification instead'.<br>
> +     <br>
> +     ^ super handles: exception<br>
> <br>
> UndeclaredVariableWarning>>initialize {initialize-release} ? ct 1/30/2022 21:46<br>
> + initialize<br>
> + <br>
> +     self deprecated: 'ct: Use UndeclaredVariableNotification instead'.<br>
> +     <br>
> +     ^ super initialize<br>
> <br>
> <br>
> ---<br>
> Sent from Squeak Inbox Talk<br>
> <br>
> On 2022-01-30T00:44:33+01:00, christoph.thiede at 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>
> > <br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220130/ef6643c9/attachment-0001.html><br>
> -------------- next part --------------<br>
> A non-text attachment was scrubbed...<br>
> Name: UndeclaredVariableNotification.1.cs<br>
> Type: application/octet-stream<br>
> Size: 2457 bytes<br>
> Desc: not available<br>
> URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220130/ef6643c9/attachment-0001.obj><br>
> <br>