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

Phil B pbpublist at gmail.com
Sun Oct 13 17:33:59 PDT 2019


Yep there's some weird stuff out there.  I don't think that should
discourage the change as I agree with the logic of your objection.  I just
suspect there's more to be done in preparation for the change before
actually making it.  (i.e. in addition to the core image, shouldn't all the
packages in the Cuis repo also be fixed before flipping the switch?)

I'm raising the flag because 'save as' was literally the first thing I
tried after applying updates.  My cursory glance tells me this is going to
be painful before my own code is even involved...

On Sun, Oct 13, 2019 at 8:27 PM Andres Valloud via Cuis-dev <
cuis-dev at lists.cuis.st> wrote:

> Yeah, I was just looking at that, pondering this bit:
>
>         | wasCog isCog |
>         isCog _ Smalltalk isRunningCog.
>         [ wasCog _ self imageFormatVersionFromFile allMask: 1 ]
>                 on: Error
>                 do: [ :ignore |
>                         "probably save-as to non-existing file"
>                         ^ true ].
>
> Obviously, everybody knows that's what the error was, probably :P.
>
> Andres.
>
> On 10/13/19 17:25, Phil B wrote:
> > 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
> > <mailto: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 <mailto: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 <http://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 <mailto:Cuis-dev at lists.cuis.st>
> >         https://lists.cuis.st/mailman/listinfo/cuis-dev
> >
> --
> 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/aab7939f/attachment.htm>


More information about the Cuis-dev mailing list