[Cuis-dev] [Ann] Refinements to Exception handling

Phil B pbpublist at gmail.com
Sun Oct 13 17:25:05 PDT 2019


Just did a quick look at senders of #on:do: and found these:

AndreasSystemProfiler>canWork
Browser>contents:notifying:
FeatureRequirement>require
FeatureRequirement>satisfyRequirementsAndInstall
MethodNode>generatePreSpur:using:
MethodNode>generateSpur:using:
RefactoringApplier>createAndValueHandlingExceptions:
SmalltalkEditor>renameTemporary:
SmalltalkEditor>withClassDefinitionNodeAndClassDo:ifErrorsParsing:
SmalltalkEditor>withMethodNodeAndClassDo:ifErrorsParsing:
SystemDictionary>okayToSave

That's ~15% of #on:do: senders in the base image *directly* returning
within the block.  (i.e. I didn't check any of the blocks passed as
parameters which might also do so or any of the other ways this might
occur)  I don't think this change is fully baked...


On Sun, Oct 13, 2019 at 8:00 PM Phil B <pbpublist at gmail.com> wrote:

> It looks like we have at least some changes in the core image to resolve.
> World menu->Save as... now fails.  Has a scan of the image been done to
> identify where these cases might be buried?
>
> On Sun, Oct 13, 2019 at 9:48 AM Juan Vuletich via Cuis-dev <
> cuis-dev at lists.cuis.st> wrote:
>
>> Hi Folks,
>>
>> Some time ago, Andrés (with just a tad of help from me) fixed a problem
>> in Exception handling. If exception handler blocks do non-local return
>> (^stuff), they will skip execution of part of the Exception handling
>> system code, breaking exception return values and possibly other 'bad
>> things'.
>>
>> I just pushed to GitHub a few updates with this work. Now, if an
>> exception handler does a non-local return, an Error will be raised. We
>> also fixed a couple of places in the image where this was being done.
>> BaseImageTests pass.
>>
>> This updates have some risk of breaking your code. If you you get this
>> error: 'Exception handler blocks must not do non local returns', then
>> you need to adjust your code. See updates #3917 to #3922 for the changes
>> done to the base image.
>>
>> Thanks,
>>
>> --
>> Juan Vuletich
>> www.cuis-smalltalk.org
>> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
>> https://github.com/jvuletich
>> https://www.linkedin.com/in/juan-vuletich-75611b3
>> @JuanVuletich
>>
>> --
>> Cuis-dev mailing list
>> Cuis-dev at lists.cuis.st
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20191013/70331750/attachment.htm>


More information about the Cuis-dev mailing list