[squeak-dev] headful evaluation of script, supplied on the command line, with Squeak 6

David T. Lewis lewis at mail.msen.com
Fri Jul 22 20:13:49 UTC 2022


On Fri, Jul 22, 2022 at 08:06:19AM -0700, Eliot Miranda wrote:
> Hi Dave,
> 
> > On Jul 22, 2022, at 7:53 AM, David T. Lewis <lewis at mail.msen.com> wrote:
> > 
> > ???On Fri, Jul 22, 2022 at 07:38:07AM -0700, Eliot Miranda wrote:
> >> 
> >> 
> >>>> On Jul 22, 2022, at 3:13 AM, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
> >>> 
> >>> ???
> >>> Hi Eliot --
> >>> 
> >>>> 1. the update fails with a merge conflict in the release builder between: [...]
> >>> 
> >>> If you want to prepare a VMMaker Trunk image, you would use a regular Trunk image, not a release image. I think. So, why aren't you using a recent 6.1alpha image?
> >>> -> http://files.squeak.org/6.1alpha/Squeak6.1alpha-22134-64bit/
> >>> 
> >> 
> >> OK, I???ll try that.  Thanx!!
> >> 
> > 
> > This will probably work with the 6.0 release image:
> > 
> > ./Squeak.app/Contents/MacOS/Squeak trunk6-64.image UpdateSqueakTrunkImage.st --doit 'Project current addDeferredUIMessage: [PreferenceWizardMorph allInstances do: [:e | e delete]]'
> > 
> > Or maybe just add "PreferenceWizardMorph allInstances do: [:e | e delete]." as the first line of the script.
> 
> Given that there seems to be a drop event generated somewhere that may cause the script to be launched again later, is there a way of asking if the script is tuning in the context of DoItFirst?  Then the first line would be
> 
>     self isRunningAsDoItFirst ifTrue: [^self].
>     ???do stuff second time around when the system is headful???
>

It's best to do only very minimal things in any of the DoItFirst
options. These run at the very earliest possible time in the startup
list processing, so many things have not yet been initialized at that
point. For doing anything non-trivial, you will want to use the normal
start up script loader (as you already are doing for the VMMaker scripts).

The --doit option (and similar) is just a hook for running a snippet
prior to startup processing, which is helpful if you have a broken
image that you need to repair before it goes through the full startup
list. Or you can use it to evaluate some expressions prior to running
your actual script file.

Dave



More information about the Squeak-dev mailing list