<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Mar 25, 2017 at 3:30 AM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Bert,<div class="gmail_extra"><div class="gmail_quote"><div><div class="h5"><div><br></div></div></div><div>I don't like having complex package scripts, at least not unless senders works with them.  So I consciously chose to use the method.  One of the things that's a little weak with package scripts is knowing how long they should stay there.  The style that I used in my method</div><div>- check if the transformation has been applied and if so exit.</div><div>- apply the transformation</div><div>- check that the transformation succeeded</div><div>allows for the preamble script to invoke the method as many times as the package is loaded until the preamble script is modified</div></div></div></div></blockquote><div><br></div><div>Except it will not be invoked again if the package load itself succeeded, until it is modified. We don't have a special mechanism for that, but I guess the script could raise an exception which would abort the loading. This might be okayish in a preamble script since the rest of the package has not been added to the system yet.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>It would be nice to have some ability to look at versions of package scripts and match the changes against package versions.  I'm not sure I see a way of determining easily<br></div><div>- if a particular version of a package script was actually applied to an image</div><div>- when a particular version of a package script was actually applied to an image</div></div></div></div></blockquote><div><br></div><div>I guess one could play around with concrete PackageInfo subclasses, but yes, we don't have support for that currently.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>The same criticism can be levelled at class initialisers, but their being more accessible to the standard tools makes exploring the questions easier IMO.</div></div></div></div></blockquote><div><br></div><div>I generally prefer class initializers too, but they're executed after the package loaded, not as a preamble.</div><div><br></div><div>- Bert -</div></div></div></div>