<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 21, 2014 at 2:32 AM, Bert Freudenberg <span dir="ltr"><<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div style="word-wrap:break-word">On 19.07.2014, at 02:15, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote:<br>
<div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jul 18, 2014 at 4:20 PM, David T. Lewis <span dir="ltr"><<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><br>
On Fri, Jul 18, 2014 at 02:06:18PM -0700, Eliot Miranda wrote:<br>
><br>
> I think we have to accept that the fix to on:from:to: means that exsting<br>
> VMs are broken. Certainly the ZipPlugin (InflatePlugin & DeflatePlugin)'s<br>
> dependency on WriteStream and ReadStream inst size is restrictive. I'd<br>
> rather lift the restriction and use new VMs than live with the restriction<br>
> long-term.<br>
<br>
</div>Is this fix is of sufficient urgency to justify asking all Squeak trunk users<br>
to replace their VMs? Is there any less disruptive way to address the issue?<br>
I don't know the answers, just asking.<br></blockquote><div><br></div><div>Well, I've fixed the VM (commit to appear shortly) and much prefer having a fixed plugin. The alternatives are</div><div>a) having some horrible hack in the image to store initialPositionOrNil out of streams</div>
<div>b) living with on:from:to: being broken</div><div><br></div><div>Since VMs can be fixed it seems to me that the best solution is to build new VMs. That's the solution I'm following anyway.</div></div></div>
</div></blockquote><br></div><div>But ... breaking old images is *not* a good idea.</div><div><br></div><div>IMHO we should name the fixed plugin ZipPlugin2. The new image with changed ivar offsets will use that plugin. Old images with the original object layout will use the original.</div>
</div></blockquote><div><br></div><div>But old images will continue to work with either plugin. And any image can back out of the fix to on:from:to: and delete the added inst vars and continue to work. What breaks things is adding an inst var to WriteStream or ReadStream, /not/ changing the plugin.</div>
<div><br></div></div>-- <br>best,<div>Eliot</div>
</div></div>